Hello L4 hackers,
we've encountered a problem with an IPC transmission based on DICE stubs generated from the following interface definition:
UInt32 process( [in, size_is(bufferALen), max_is(MAX_BUFFER_SIZE)] UInt8* bufferA, [in] UInt32 bufferALen, [in, size_is(bufferBLen), max_is(MAX_BUFFER_SIZE)] UInt8* bufferB , [in] UInt32 bufferBLen, [out, size_is(*bufferCLen), max_is(MAX_BUFFER_SIZE)] UInt8** bufferC, [out] UInt32* bufferCLen);
UInt8 is defined as unsigned char, UInt32 is defined as unsigned long, MAX_BUFFER_SIZE is 1500.
We are using dice version 3.1.0 with the command line options -fforce-corba-alloc -nostdinc -P-DL4API_l4v2 and the latest OTC snapshot.
In this configuration bufferB is not transmitted correctly but is received as corrupt data on the server side (which is an L4Linux application).
Is there anything wrong with our interface definition? Any hints appreciated!
Michael