From 2fc3d7eb2912b189ab38c0683f16e97cf9987362 Mon Sep 17 00:00:00 2001 From: Daniel Lehman Date: Thu, 10 Mar 2022 16:18:13 -0800 Subject: [PATCH] server: Always close previous IRP handle. Signed-off-by: Daniel Lehman Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- server/device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/device.c b/server/device.c index d6288920bf4..436dac6bfe9 100644 --- a/server/device.c +++ b/server/device.c @@ -959,7 +959,6 @@ DECL_HANDLER(get_next_device_request) if (req->prev) { set_irp_result( irp, req->iosb_status, get_req_data(), get_req_data_size(), req->result ); - close_handle( current->process, req->prev ); /* avoid an extra round-trip for close */ } else { @@ -977,6 +976,9 @@ DECL_HANDLER(get_next_device_request) set_irp_result( irp, req->status, NULL, 0, 0 ); } + if (req->prev) + close_handle( current->process, req->prev ); /* avoid an extra round-trip for close */ + free_irp_params( irp ); release_object( irp ); manager->current_call = NULL;