Zebediah Figura : server: Avoid leaking the poll output buffer if the request is terminated irregularly (Valgrind).

Alexandre Julliard julliard at winehq.org
Fri Oct 8 14:12:25 CDT 2021


Module: wine
Branch: master
Commit: 567beb6b2edba07051a75d45a9b2f1516568c0e7
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=567beb6b2edba07051a75d45a9b2f1516568c0e7

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Thu Oct  7 23:01:13 2021 -0500

server: Avoid leaking the poll output buffer if the request is terminated irregularly (Valgrind).

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 server/sock.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/server/sock.c b/server/sock.c
index 2b85b2889f0..03716cba90f 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -795,6 +795,7 @@ static void free_poll_req( void *private )
     release_object( req->async );
     release_object( req->iosb );
     list_remove( &req->entry );
+    free( req->output );
     free( req );
 }
 
@@ -849,6 +850,7 @@ static void complete_async_poll( struct poll_req *req, unsigned int status )
 
     /* pass 0 as result; client will set actual result size */
     async_request_complete( req->async, status, 0, req->count * sizeof(*req->output), req->output );
+    req->output = NULL;
 }
 
 static void complete_async_polls( struct sock *sock, int event, int error )




More information about the wine-cvs mailing list