Commit 5b63cc22 authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

BSTRs can be NULL, handle them seperately.

parent ca30e48f
...@@ -369,10 +369,17 @@ marshall_param( ...@@ -369,10 +369,17 @@ marshall_param(
case VT_NULL: case VT_NULL:
return S_OK; return S_OK;
case VT_BSTR: { /* DWORD size, string data */ case VT_BSTR: { /* DWORD size, string data */
DWORD *bstr = ((DWORD*)(*arg))-1;
if (relaydeb) MESSAGE("%s",debugstr_w((LPWSTR)(bstr+1))); if (*arg) {
return xbuf_add(buf,(LPBYTE)bstr,bstr[0]+4); DWORD *bstr = ((DWORD*)(*arg))-1;
if (relaydeb) MESSAGE("%s",debugstr_w((LPWSTR)(bstr+1)));
return xbuf_add(buf,(LPBYTE)bstr,bstr[0]+4);
} else {
DWORD xnull = 0;
return xbuf_add(buf,(LPBYTE)&xnull,sizeof(xnull));
}
} }
case VT_BOOL: case VT_BOOL:
case VT_I4: case VT_I4:
......
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