Added patch to fix leak of async handle in pipe_server_flush.

This commit is contained in:
Sebastian Lackner 2015-05-08 19:22:32 +02:00
parent bd4c1e3006
commit 20f6d63e2b
3 changed files with 41 additions and 0 deletions

1
debian/changelog vendored
View File

@ -13,6 +13,7 @@ wine-staging (1.7.43) UNRELEASED; urgency=low
* Added patch with stub for winsta.WinStationEnumerateW.
* Removed patch to use lockfree implementation for FD cache (accepted
upstream).
* Added patch to fix leak of async handle in pipe_server_flush.
* Removed patch to properly handle closing sockets during a select call
(accepted upstream).
* Removed patches to fix behaviour of VirtualProtect / NtProtectVirtualMemory

View File

@ -195,6 +195,7 @@ patch_enable_all ()
enable_secur32_ANSI_NTLM_Credentials="$1"
enable_server_ACL_Compat="$1"
enable_server_Address_List_Change="$1"
enable_server_Async_Leak="$1"
enable_server_ClipCursor="$1"
enable_server_CreateProcess_ACLs="$1"
enable_server_Delete_On_Close="$1"
@ -641,6 +642,9 @@ patch_enable ()
server-Address_List_Change)
enable_server_Address_List_Change="$2"
;;
server-Async_Leak)
enable_server_Async_Leak="$2"
;;
server-ClipCursor)
enable_server_ClipCursor="$2"
;;
@ -4341,6 +4345,18 @@ if test "$enable_server_Address_List_Change" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-Async_Leak
# |
# | Modified files:
# | * server/named_pipe.c
# |
if test "$enable_server_Async_Leak" -eq 1; then
patch_apply server-Async_Leak/0001-server-Fix-leak-of-async-handle-in-pipe_server_flush.patch
(
echo '+ { "Sebastian Lackner", "server: Fix leak of async handle in pipe_server_flush.", 1 },';
) >> "$patchlist"
fi
# Patchset server-ClipCursor
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,24 @@
From fb7b3dde4dc3687643cbf9d66c0e0e3da27d1ad2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 8 May 2015 18:02:20 +0200
Subject: server: Fix leak of async handle in pipe_server_flush.
---
server/named_pipe.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/server/named_pipe.c b/server/named_pipe.c
index c698a87..f5e536c 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -563,6 +563,7 @@ static obj_handle_t pipe_server_flush( struct fd *fd, const async_data_t *async_
if (!server->flush_poll)
server->flush_poll = add_timeout_user( -TICKS_PER_SEC / 10, check_flushed, server );
if (blocking) handle = alloc_handle( current->process, async, SYNCHRONIZE, 0 );
+ release_object( async );
set_error( STATUS_PENDING );
}
return handle;
--
2.4.0