Sebastian Lackner : advapi32: Hold lock while processing service controls.

Alexandre Julliard julliard at winehq.org
Wed Aug 17 10:24:24 CDT 2016


Module: wine
Branch: master
Commit: 63c36da6da2f1da6fc4b184b5101503ad2996f81
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=63c36da6da2f1da6fc4b184b5101503ad2996f81

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Wed Aug 17 09:36:13 2016 +0200

advapi32: Hold lock while processing service controls.

Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/advapi32/service.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index ccca721..11186c5 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -461,6 +461,8 @@ static DWORD WINAPI service_control_dispatcher(LPVOID arg)
             }
         }
 
+        EnterCriticalSection( &service_cs );
+
         /* validate service name */
         name = (WCHAR *)data;
         if (!info.name_size || data_size < info.name_size * sizeof(WCHAR) || name[info.name_size - 1])
@@ -504,6 +506,7 @@ static DWORD WINAPI service_control_dispatcher(LPVOID arg)
         }
 
     done:
+        LeaveCriticalSection( &service_cs );
         WriteFile( disp->pipe, &result, sizeof(result), &count, NULL );
         heap_free( data );
     }




More information about the wine-cvs mailing list