oleaut32/tests: initialize pointer before sending it over the wire??
Dan Kegel
dank at kegel.com
Fri Jun 20 23:56:01 CDT 2008
While looking at the valgrind warning in
http://kegel.com/wine/valgrind/logs-2008-06-20/vg-oleaut32_tmarshal.txt
Conditional jump or move depends on uninitialised value(s)
at serialize_param (tmarshal.c:736)
by serialize_param (tmarshal.c:744)
by xCall (tmarshal.c:1414)
by ???
by func_tmarshal (tmarshal.c:1179)
by run_test (test.h:449)
by main (test.h:498)
Uninitialised value was created by a stack allocation
at test_typelibmarshal (tmarshal.c:762)
The problem happens during a call to this method
where widget is a pointer to an uninitialized pointer
which will receive the pointer to the widget:
interface IKindaEnumWidget : IUnknown
{
HRESULT Next(
[out] IWidget **widget);
I discovered that the attached patch prevented the problem.
I don't quite understand why; at first glance,
widget is an out parameter from the function,
why would it be dereferenced while serializing
the call?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: oleaut32-tests-tmarshal-next.patch
Type: text/x-diff
Size: 438 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20080620/b1ea30c3/attachment.patch
More information about the wine-devel
mailing list