[PATCH] server: Release correct sockets in poll_socket().

Paul Gofman pgofman at codeweavers.com
Tue Jan 25 05:44:26 CST 2022


Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
   Fixes Watch Dogs 2 hang on start (due to wineserver crash).

 server/sock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/sock.c b/server/sock.c
index 650e67a2e0a..40fb0cac535 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -3046,7 +3046,7 @@ static void poll_socket( struct sock *poll_sock, struct async *async, int exclus
         req->sockets[i].sock = (struct sock *)get_handle_obj( current->process, sockets[i].socket, 0, &sock_ops );
         if (!req->sockets[i].sock)
         {
-            for (j = 0; j < i; ++j) release_object( req->sockets[i].sock );
+            for (j = 0; j < i; ++j) release_object( req->sockets[j].sock );
             if (req->timeout) remove_timeout_user( req->timeout );
             free( req );
             return;
-- 
2.34.1




More information about the wine-devel mailing list