Commit be4d45ca authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

oleaut32: Zero-init [out] only parameters.

parent a91097ed
...@@ -1118,7 +1118,7 @@ static void test_typelibmarshal(void) ...@@ -1118,7 +1118,7 @@ static void test_typelibmarshal(void)
VariantClear(&varresult); VariantClear(&varresult);
/* call get_Name (direct) */ /* call get_Name (direct) */
bstr = NULL; bstr = (void *)0xdeadbeef;
hr = IWidget_get_Name(pWidget, &bstr); hr = IWidget_get_Name(pWidget, &bstr);
ok_ole_success(hr, IWidget_get_Name); ok_ole_success(hr, IWidget_get_Name);
ok(!lstrcmpW(bstr, szCat), "IWidget_get_Name should have returned string \"Cat\" instead of %s\n", wine_dbgstr_w(bstr)); ok(!lstrcmpW(bstr, szCat), "IWidget_get_Name should have returned string \"Cat\" instead of %s\n", wine_dbgstr_w(bstr));
......
...@@ -723,7 +723,7 @@ serialize_param( ...@@ -723,7 +723,7 @@ serialize_param(
return S_OK; return S_OK;
} }
case VT_BSTR: { case VT_BSTR: {
if (debugout) { if (writeit && debugout) {
if (*arg) if (*arg)
TRACE_(olerelay)("%s",relaystr((WCHAR*)*arg)); TRACE_(olerelay)("%s",relaystr((WCHAR*)*arg));
else else
...@@ -1402,11 +1402,20 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */) ...@@ -1402,11 +1402,20 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
TRACE_(olerelay)("%s=",relaystr(names[i+1])); TRACE_(olerelay)("%s=",relaystr(names[i+1]));
} }
/* No need to marshal other data than FIN and any VT_PTR. */ /* No need to marshal other data than FIN and any VT_PTR. */
if (!is_in_elem(elem) && (elem->tdesc.vt != VT_PTR)) { if (!is_in_elem(elem))
xargs+=_argsize(&elem->tdesc, tinfo); {
if (relaydeb) TRACE_(olerelay)("[out]"); if (elem->tdesc.vt != VT_PTR)
continue; {
} xargs+=_argsize(&elem->tdesc, tinfo);
if (relaydeb) TRACE_(olerelay)("[out]");
continue;
}
else
{
memset( *(void **)xargs, 0, _xsize( elem->tdesc.u.lptdesc, tinfo ) );
}
}
hres = serialize_param( hres = serialize_param(
tinfo, tinfo,
is_in_elem(elem), is_in_elem(elem),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment