Lionel Debroux : advapi32: Replace SERV_free by HeapFree.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Sep 12 07:51:10 CDT 2007


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

Author: Lionel Debroux <lionel_debroux at yahoo.fr>
Date:   Thu Sep  6 11:32:20 2007 +0200

advapi32: Replace SERV_free by HeapFree.

---

 dlls/advapi32/service.c |   61 ++++++++++++++++++++++------------------------
 1 files changed, 29 insertions(+), 32 deletions(-)

diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index fbc888d..a698f11 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -197,7 +197,9 @@ static void sc_handle_destroy_service(struct sc_handle *handle)
 }
 
 /******************************************************************************
- * String management functions
+ * String management functions (same behaviour as strdup)
+ * NOTE: the caller of those functions is responsible for calling HeapFree
+ * in order to release the memory allocated by those functions.
  */
 static inline LPWSTR SERV_dup( LPCSTR str )
 {
@@ -231,11 +233,6 @@ static inline LPWSTR SERV_dupmulti(LPCSTR str)
     return wstr;
 }
 
-static inline VOID SERV_free( LPWSTR wstr )
-{
-    HeapFree( GetProcessHeap(), 0, wstr );
-}
-
 /******************************************************************************
  * registry access functions and data
  */
@@ -345,7 +342,7 @@ static HANDLE service_open_pipe(LPCWSTR service)
         if (GetLastError() != ERROR_PIPE_BUSY)
             break;
     } while (WaitNamedPipeW(szPipe, NMPWAIT_WAIT_FOREVER));
-    SERV_free(szPipe);
+    HeapFree(GetProcessHeap(), 0, szPipe);
 
     return handle;
 }
@@ -366,7 +363,7 @@ static HANDLE service_get_event_handle(LPCWSTR service)
     strcpyW(name, prefix);
     strcatW(name, service);
     handle = CreateEventW(NULL, TRUE, FALSE, name);
-    SERV_free(name);
+    HeapFree(GetProcessHeap(), 0, name);
     return handle;
 }
 
@@ -458,7 +455,7 @@ static BOOL service_handle_start(HANDLE pipe, service_data *service, DWORD count
         goto end;
     }
 
-    SERV_free(service->args);
+    HeapFree(GetProcessHeap(), 0, service->args);
     service->args = args;
     args = NULL;
     service->thread = CreateThread( NULL, 0, service_thread,
@@ -688,7 +685,7 @@ static DWORD WINAPI service_control_dispatcher(LPVOID arg)
     name = service_get_pipe_name(service->name);
     pipe = CreateNamedPipeW(name, PIPE_ACCESS_DUPLEX,
                   PIPE_TYPE_BYTE|PIPE_WAIT, 1, 256, 256, 10000, NULL );
-    SERV_free(name);
+    HeapFree(GetProcessHeap(), 0, name);
 
     /* let the process who started us know we've tried to create a pipe */
     event = service_get_event_handle(service->name);
@@ -921,7 +918,7 @@ RegisterServiceCtrlHandlerA( LPCSTR lpServiceName, LPHANDLER_FUNCTION lpfHandler
 
     lpServiceNameW = SERV_dup(lpServiceName);
     ret = RegisterServiceCtrlHandlerW( lpServiceNameW, lpfHandler );
-    SERV_free(lpServiceNameW);
+    HeapFree(GetProcessHeap(), 0, lpServiceNameW);
     return ret;
 }
 
@@ -1011,8 +1008,8 @@ SC_HANDLE WINAPI OpenSCManagerA( LPCSTR lpMachineName, LPCSTR lpDatabaseName,
     lpMachineNameW = SERV_dup(lpMachineName);
     lpDatabaseNameW = SERV_dup(lpDatabaseName);
     ret = OpenSCManagerW(lpMachineNameW, lpDatabaseNameW, dwDesiredAccess);
-    SERV_free(lpDatabaseNameW);
-    SERV_free(lpMachineNameW);
+    HeapFree(GetProcessHeap(), 0, lpDatabaseNameW);
+    HeapFree(GetProcessHeap(), 0, lpMachineNameW);
     return ret;
 }
 
@@ -1195,7 +1192,7 @@ SC_HANDLE WINAPI OpenServiceA( SC_HANDLE hSCManager, LPCSTR lpServiceName,
 
     lpServiceNameW = SERV_dup(lpServiceName);
     ret = OpenServiceW( hSCManager, lpServiceNameW, dwDesiredAccess);
-    SERV_free(lpServiceNameW);
+    HeapFree(GetProcessHeap(), 0, lpServiceNameW);
     return ret;
 }
 
@@ -1494,13 +1491,13 @@ CreateServiceA( SC_HANDLE hSCManager, LPCSTR lpServiceName,
             lpBinaryPathNameW, lpLoadOrderGroupW, lpdwTagId,
             lpDependenciesW, lpServiceStartNameW, lpPasswordW );
 
-    SERV_free( lpServiceNameW );
-    SERV_free( lpDisplayNameW );
-    SERV_free( lpBinaryPathNameW );
-    SERV_free( lpLoadOrderGroupW );
-    SERV_free( lpDependenciesW );
-    SERV_free( lpServiceStartNameW );
-    SERV_free( lpPasswordW );
+    HeapFree( GetProcessHeap(), 0, lpServiceNameW );
+    HeapFree( GetProcessHeap(), 0, lpDisplayNameW );
+    HeapFree( GetProcessHeap(), 0, lpBinaryPathNameW );
+    HeapFree( GetProcessHeap(), 0, lpLoadOrderGroupW );
+    HeapFree( GetProcessHeap(), 0, lpDependenciesW );
+    HeapFree( GetProcessHeap(), 0, lpServiceStartNameW );
+    HeapFree( GetProcessHeap(), 0, lpPasswordW );
 
     return r;
 }
@@ -1591,7 +1588,7 @@ BOOL WINAPI StartServiceA( SC_HANDLE hService, DWORD dwNumServiceArgs,
     if (dwNumServiceArgs)
     {
         for(i=0; i<dwNumServiceArgs; i++)
-            SERV_free(lpwstr[i]);
+            HeapFree(GetProcessHeap(), 0, lpwstr[i]);
         HeapFree(GetProcessHeap(), 0, lpwstr);
     }
 
@@ -2270,7 +2267,7 @@ BOOL WINAPI GetServiceDisplayNameA( SC_HANDLE hSCManager, LPCSTR lpServiceName,
     *lpcchBuffer = size;
 
     HeapFree(GetProcessHeap(), 0, lpDisplayNameW);
-    SERV_free(lpServiceNameW);
+    HeapFree(GetProcessHeap(), 0, lpServiceNameW);
 
     SetLastError(GLE);
     return ret;
@@ -2443,12 +2440,12 @@ BOOL WINAPI ChangeServiceConfigA( SC_HANDLE hService, DWORD dwServiceType,
             wLoadOrderGroup, lpdwTagId, wDependencies,
             wServiceStartName, wPassword, wDisplayName);
 
-    SERV_free( wBinaryPathName );
-    SERV_free( wLoadOrderGroup );
-    SERV_free( wDependencies );
-    SERV_free( wServiceStartName );
-    SERV_free( wPassword );
-    SERV_free( wDisplayName );
+    HeapFree( GetProcessHeap(), 0, wBinaryPathName );
+    HeapFree( GetProcessHeap(), 0, wLoadOrderGroup );
+    HeapFree( GetProcessHeap(), 0, wDependencies );
+    HeapFree( GetProcessHeap(), 0, wServiceStartName );
+    HeapFree( GetProcessHeap(), 0, wPassword );
+    HeapFree( GetProcessHeap(), 0, wDisplayName );
 
     return r;
 }
@@ -2472,7 +2469,7 @@ BOOL WINAPI ChangeServiceConfig2A( SC_HANDLE hService, DWORD dwInfoLevel,
 
         r = ChangeServiceConfig2W( hService, dwInfoLevel, &sdw );
 
-        SERV_free( sdw.lpDescription );
+        HeapFree( GetProcessHeap(), 0, sdw.lpDescription );
     }
     else if (dwInfoLevel == SERVICE_CONFIG_FAILURE_ACTIONS)
     {
@@ -2487,8 +2484,8 @@ BOOL WINAPI ChangeServiceConfig2A( SC_HANDLE hService, DWORD dwInfoLevel,
 
         r = ChangeServiceConfig2W( hService, dwInfoLevel, &faw );
 
-        SERV_free( faw.lpRebootMsg );
-        SERV_free( faw.lpCommand );
+        HeapFree( GetProcessHeap(), 0, faw.lpRebootMsg );
+        HeapFree( GetProcessHeap(), 0, faw.lpCommand );
     }
     else
         SetLastError( ERROR_INVALID_PARAMETER );




More information about the wine-cvs mailing list