COM RPC: Fix Infinite Loop

Robert Shearman rob at codeweavers.com
Mon Jul 26 12:19:07 CDT 2004


Changelog:
Fix for infinite loop that could occur if _invoke_onereq failed.

-------------- next part --------------
Index: wine/dlls/ole32/rpc.c
===================================================================
RCS file: /home/wine/wine/dlls/ole32/rpc.c,v
retrieving revision 1.19
diff -u -r1.19 rpc.c
--- wine/dlls/ole32/rpc.c	23 Jul 2004 22:58:13 -0000	1.19
+++ wine/dlls/ole32/rpc.c	26 Jul 2004 17:13:25 -0000
@@ -374,7 +374,8 @@
 	for (i=0;i<nrofreqs;i++) {
 	    xreq = reqs[i];
 	    if ((xreq->state==REQSTATE_REQ_GOT) && (xreq->hPipe==req->hPipe)) {
-		_invoke_onereq(xreq);
+		hres = _invoke_onereq(xreq);
+		if (FAILED(hres)) break;
 	    }
 	}
 	if (req->state == REQSTATE_RESP_GOT)


More information about the wine-patches mailing list