New valgrind warnings in rpcrt4/tests/server

Rob Shearman robertshearman at gmail.com
Wed Jul 2 04:46:51 CDT 2008


2008/7/2 Dan Kegel <dank at kegel.com>:
> Hi Rob!
> Could you have a look at these fresh warnings in rpcrt4/tests/server?
> Thanks...

Hi Dan,

The following warning is caused by the generated code for
non-encapsulated unions not setting _StubMsg.MaxCount before calling
the relevant phase function. However, looking in detail at this bug
brings up a few other issues with the code which need to be fixed.

> http://kegel.com/wine/valgrind/logs-2008-07-01/vg-rpcrt4_server-diff.txt
>
> + Syscall param socketcall.send(msg) points to uninitialised byte(s)
...
> +    by  NdrSendReceive (ndr_clientserver.c:214)
> +    by  square_unencu (server_c.c:2467)
> +    by  union_tests (server.c:889)
> +    by  run_tests (server.c:1241)
> +    by  client (server.c:1260)
> +    by  func_server (server.c:1357)
> +    by  run_test (test.h:449)
> +    by  main (test.h:498)
> +  Address 0x7f01350c is 28 bytes inside a block of size 36 alloc'd
> +    at  notify_alloc (heap.c:191)
...
> +    by  NdrSendReceive (ndr_clientserver.c:214)
> +    by  square_unencu (server_c.c:2467)
> +    by  union_tests (server.c:889)
> +    by  run_tests (server.c:1241)
> +    by  client (server.c:1260)
> +    by  func_server (server.c:1357)
> +    by  run_test (test.h:449)
> +    by  main (test.h:498)
> +  Uninitialised value was created by a stack allocation
> +    at  square_unencu (server_c.c:2424)
> ...
> + Syscall param write(buf) points to uninitialised byte(s)
> +    at  (within /lib/ld-2.7.so)
> +    by  WriteFile (file.c:559)
...
> +    by  NdrSendReceive (ndr_clientserver.c:214)
> +    by  square_unencu (server_c.c:2467)
> +    by  union_tests (server.c:889)
> +    by  run_tests (server.c:1241)
> +    by  client (server.c:1275)
> +    by  func_server (server.c:1357)
> +    by  run_test (test.h:449)
> +    by  main (test.h:498)
> +  Address 0x7f013524 is 28 bytes inside a block of size 36 alloc'd
> +    at  notify_alloc (heap.c:191)
...
> +    by  NdrSendReceive (ndr_clientserver.c:214)
> +    by  square_unencu (server_c.c:2467)
> +    by  union_tests (server.c:889)
> +    by  run_tests (server.c:1241)
> +    by  client (server.c:1275)
> +    by  func_server (server.c:1357)
> +    by  run_test (test.h:449)
> +    by  main (test.h:498)
> +  Uninitialised value was created by a stack allocation
> +    at  square_unencu (server_c.c:2424)
> ...

The following warning is caused simply by a missing call to
_StubMsg.pfnFree in the generated code:

> + 24 bytes in 2 blocks are definitely lost
> +    at  malloc (vg_replace_malloc.c:207)
> +    by  MIDL_user_allocate (server.c:53)
> +    by  s_get_s123 (server.c:538)
> +    by  IServer_get_s123 (server_s.c:4545)
> +    by  process_request_packet (rpc_server.c:290)
> +    by  RPCRT4_process_packet (rpc_server.c:345)
> +    by  RPCRT4_worker_thread (rpc_server.c:362)
> +    by  worker_thread_proc (threadpool.c:113)
> +    by  ??? (thread.c:128)
> +    by  call_thread_func (thread.c:383)
> +    by  start_thread (thread.c:443)
> +    by  start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so)
> +    by  clone (in /lib/tls/i686/cmov/libc-2.7.so)
>

-- 
Rob Shearman



More information about the wine-devel mailing list