PATCH: serialize_LPVOID_ptr fix

Marcus Meissner meissner at suse.de
Sat Mar 26 05:17:35 CST 2005


Hi,

This fixes on :err: during ishield usage. 

Basically for the null ptr cookie check one
level of indirection derefence was missing.

Ciao, Marcus

Changelog:
	serialize_LPVOID_ptr:
	Dereference 2 times for NULL ptr cookie check.

Index: tmarshal.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/tmarshal.c,v
retrieving revision 1.45
diff -u -r1.45 tmarshal.c
--- dlls/oleaut32/tmarshal.c	25 Mar 2005 16:38:37 -0000	1.45
+++ dlls/oleaut32/marshal.c	26 Mar 2005 11:14:50 -0000
@@ -723,13 +734,13 @@
 	FIXME("ppvObject not expressed as VT_PTR -> VT_PTR -> VT_VOID?\n");
 	return E_FAIL;
     }
-    cookie = (*arg) ? 0x42424242: 0x0;
+    cookie = (*(DWORD*)*arg) ? 0x42424242: 0x0;
     if (writeit) {
 	hres = xbuf_add(buf, (LPVOID)&cookie, sizeof(cookie));
 	if (hres)
 	    return hres;
     }
-    if (!*arg) {
+    if (!*(DWORD*)*arg) {
 	if (debugout) TRACE_(olerelay)("<lpvoid NULL>");
 	return S_OK;
     }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050326/539861ce/attachment.pgp


More information about the wine-patches mailing list