From e6009c5b55200b614e328c4b38549bf8693e764b Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Tue, 12 Oct 2021 19:36:55 -0500 Subject: [PATCH] server: Avoid touching the poll_req structure after calling async_request_complete() (Valgrind). Fixes: 567beb6b2edba07051a75d45a9b2f1516568c0e7 Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- server/sock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/sock.c b/server/sock.c index 03716cba90f..43a7c707740 100644 --- a/server/sock.c +++ b/server/sock.c @@ -838,6 +838,7 @@ static int get_poll_flags( struct sock *sock, int event ) static void complete_async_poll( struct poll_req *req, unsigned int status ) { + struct poll_socket_output *output = req->output; unsigned int i; for (i = 0; i < req->count; ++i) @@ -849,8 +850,8 @@ 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; + async_request_complete( req->async, status, 0, req->count * sizeof(*output), output ); } static void complete_async_polls( struct sock *sock, int event, int error )