widl: Increment the buffer offset by 8 for embedded pointers inside varying arrays in varying structures.
Rob Shearman
robertshearman at gmail.com
Tue Jul 1 17:35:57 CDT 2008
The 8 bytes are for the variance and offset and are added just before
the array, as seen in the marshalling code in rpcrt4. No offset needs
to be added for non-varying structures since the buffer mark is set
after the conformance in marshalled or unmarshalled.
---
tools/widl/typegen.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
Should fix the following Valgrind warning in dlls/rpcrt4/tests/rpc.c:
Syscall param write(buf) points to uninitialised byte(s)
at (within /lib/ld-2.7.so)
by WriteFile (file.c:559)
by rpcrt4_conn_np_write (rpc_transport.c:404)
by rpcrt4_conn_write (rpc_binding.h:168)
by RPCRT4_SendWithAuth (rpc_message.c:533)
by RPCRT4_Send (rpc_message.c:675)
by I_RpcSend (rpc_message.c:1225)
by I_RpcSendReceive (rpc_message.c:1328)
by NdrSendReceive (ndr_clientserver.c:213)
by ept_insert (epm_c.c:108)
by RpcEpRegisterA (rpc_epmap.c:238)
by test_endpoint_mapper (rpc.c:699)
by func_rpc (rpc.c:736)
by run_test (test.h:449)
by main (test.h:498)
Address 0x7f013c50 is 48 bytes inside a block of size 320 alloc'd
at notify_alloc (heap.c:191)
by RtlAllocateHeap (heap.c:1231)
by RPCRT4_SendWithAuth (rpc_message.c:492)
by RPCRT4_Send (rpc_message.c:675)
by I_RpcSend (rpc_message.c:1225)
by I_RpcSendReceive (rpc_message.c:1328)
by NdrSendReceive (ndr_clientserver.c:213)
by ept_insert (epm_c.c:108)
by RpcEpRegisterA (rpc_epmap.c:238)
by test_endpoint_mapper (rpc.c:699)
by func_rpc (rpc.c:736)
by run_test (test.h:449)
by main (test.h:498)
Uninitialised value was created by a client request
at mark_block_uninitialized (heap.c:164)
by RtlAllocateHeap (heap.c:1239)
by I_RpcAllocate (rpcrt4_main.c:694)
by I_RpcGetBuffer (rpc_message.c:1070)
by NdrGetBuffer (ndr_clientserver.c:171)
by ept_insert (epm_c.c:86)
by RpcEpRegisterA (rpc_epmap.c:238)
by test_endpoint_mapper (rpc.c:699)
by func_rpc (rpc.c:736)
by run_test (test.h:449)
by main (test.h:498)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 67ddd2daf2bb972051d2ccb5da292b2ad5050376.diff
Type: text/x-patch
Size: 2278 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080701/4eb3cdd6/attachment.bin
More information about the wine-patches
mailing list