[PATCH] advapi32: avoid memory leak on pipe read failure (Coverity)

Marcus Meissner marcus at jet.franken.de
Wed Oct 3 09:52:05 CDT 2012


CID 713325

on short reads we would leak "data".

Ciao, Marcus
---
 dlls/advapi32/service.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index 5069f9c..aa98560 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -406,11 +406,13 @@ static DWORD WINAPI service_control_dispatcher(LPVOID arg)
             {
                 if (GetLastError() != ERROR_BROKEN_PIPE)
                     ERR( "pipe read failed error %u\n", GetLastError() );
+                HeapFree( GetProcessHeap(), 0, data );
                 break;
             }
             if (count != data_size)
             {
                 ERR( "partial pipe read %u/%u\n", count, data_size );
+                HeapFree( GetProcessHeap(), 0, data );
                 break;
             }
         }
-- 
1.7.3.4




More information about the wine-patches mailing list