[OLE #84] Don't use IsBadStringPtr on NULL pointers

Mike Hearn mike at navi.cx
Wed Mar 23 16:04:09 CST 2005


Don't use IsBadStringPtr on NULL pointers

--- dlls/oleaut32/tmarshal.c  (revision 153)
+++ dlls/oleaut32/tmarshal.c  (local)
@@ -1448,7 +1449,7 @@ xCall(LPVOID retptr, int method, TMProxy
 		if (relaydeb) TRACE_(olerelay)("[in]");
 		continue;
 	    }
-	    if (((i+1)<nrofnames) && !IsBadStringPtrW(names[i+1],1)) {
+	    if (((i+1)<nrofnames) && names[i+1] && !IsBadStringPtrW(names[i+1],1)) {
 		/* If the parameter is 'riid', we use it as interface IID
 		 * for a later ppvObject serialization.
 		 */
@@ -1775,7 +1776,7 @@ TMStubImpl_Invoke(
 	ELEMDESC	*elem = fdesc->lprgelemdescParam+i;
 	BOOL		isdeserialized = FALSE;
 
-	if (((i+1)<nrofnames) && !IsBadStringPtrW(names[i+1],1)) {
+	if (((i+1)<nrofnames) && names[i+1] && !IsBadStringPtrW(names[i+1],1)) {
 	    /* If the parameter is 'riid', we use it as interface IID
 	     * for a later ppvObject serialization.
 	     */
@@ -1848,7 +1849,7 @@ TMStubImpl_Invoke(
 	ELEMDESC	*elem = fdesc->lprgelemdescParam+i;
 	BOOL		isserialized = FALSE;
 
-	if (((i+1)<nrofnames) && !IsBadStringPtrW(names[i+1],1)) {
+	if (((i+1)<nrofnames) && names[i+1] && !IsBadStringPtrW(names[i+1],1)) {
 	    /* If the parameter is 'riid', we use it as interface IID
 	     * for a later ppvObject serialization.
 	     */



More information about the wine-patches mailing list