From c0977fcbec62844db15c7b9f5a46c405609a2596 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 27 Apr 2020 22:35:33 -0500 Subject: [PATCH] services: Make svcctl_{Lock, Unlock}ServiceDatabase() into a no-op. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- programs/services/rpc.c | 44 ++++++----------------------------------- 1 file changed, 6 insertions(+), 38 deletions(-) diff --git a/programs/services/rpc.c b/programs/services/rpc.c index 0f2c1440c23..d0f85024191 100644 --- a/programs/services/rpc.c +++ b/programs/services/rpc.c @@ -1365,55 +1365,23 @@ DWORD __cdecl svcctl_CloseServiceHandle( return ERROR_SUCCESS; } -static void SC_RPC_LOCK_destroy(SC_RPC_LOCK hLock) -{ - struct sc_lock *lock = hLock; - scmdatabase_unlock_startup(lock->db); - HeapFree(GetProcessHeap(), 0, lock); -} - void __RPC_USER SC_RPC_LOCK_rundown(SC_RPC_LOCK hLock) { - SC_RPC_LOCK_destroy(hLock); } -DWORD __cdecl svcctl_LockServiceDatabase( - SC_RPC_HANDLE hSCManager, - SC_RPC_LOCK *phLock) +DWORD __cdecl svcctl_LockServiceDatabase(SC_RPC_HANDLE manager, SC_RPC_LOCK *lock) { - struct sc_manager_handle *manager; - struct sc_lock *lock; - DWORD err; - - WINE_TRACE("(%p, %p)\n", hSCManager, phLock); - - if ((err = validate_scm_handle(hSCManager, SC_MANAGER_LOCK, &manager)) != ERROR_SUCCESS) - return err; - - if (!scmdatabase_lock_startup(manager->db, 0)) - return ERROR_SERVICE_DATABASE_LOCKED; - - lock = HeapAlloc(GetProcessHeap(), 0, sizeof(struct sc_lock)); - if (!lock) - { - scmdatabase_unlock_startup(manager->db); - return ERROR_NOT_ENOUGH_SERVER_MEMORY; - } - - lock->db = manager->db; - *phLock = lock; + TRACE("(%p, %p)\n", manager, lock); + *lock = (SC_RPC_LOCK)0xdeadbeef; return ERROR_SUCCESS; } -DWORD __cdecl svcctl_UnlockServiceDatabase( - SC_RPC_LOCK *phLock) +DWORD __cdecl svcctl_UnlockServiceDatabase(SC_RPC_LOCK *lock) { - WINE_TRACE("(&%p)\n", *phLock); - - SC_RPC_LOCK_destroy(*phLock); - *phLock = NULL; + TRACE("(&%p)\n", *lock); + *lock = NULL; return ERROR_SUCCESS; }