From 5d030534dba1e34473c3fa1a21c357348d0f110f Mon Sep 17 00:00:00 2001 From: Bernhard Miklautz Date: Mon, 23 May 2016 13:04:44 +0200 Subject: [PATCH] winpr/event: fix file descriptor leak SetEventFileDescriptor overrides the internal file descriptor of the event but didn't close it. Now if the descriptor is closed if it isn't marked as attached. --- winpr/libwinpr/synch/event.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winpr/libwinpr/synch/event.c b/winpr/libwinpr/synch/event.c index 34818c7..976efc1 100644 --- a/winpr/libwinpr/synch/event.c +++ b/winpr/libwinpr/synch/event.c @@ -364,6 +364,8 @@ int SetEventFileDescriptor(HANDLE hEvent, int FileDescriptor, ULONG mode) return -1; event = (WINPR_EVENT*) Object; + if (!event->bAttached && event->pipe_fd[0] >= 0) + close(event->pipe_fd[0]); event->bAttached = TRUE; event->Mode = mode; event->pipe_fd[0] = FileDescriptor; -- 2.7.4