[2/3] services: Refuse to start disabled services.
Francois Gouget
fgouget at codeweavers.com
Mon Aug 29 12:53:04 CDT 2011
---
dlls/advapi32/tests/service.c | 2 +-
programs/services/rpc.c | 3 +++
2 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c
index 044394a..d2ef54d 100644
--- a/dlls/advapi32/tests/service.c
+++ b/dlls/advapi32/tests/service.c
@@ -2151,7 +2151,7 @@ static void test_start_stop(void)
goto cleanup;
}
le = try_start_stop(svc_handle, displayname, is_nt4);
- todo_wine ok(le == ERROR_SERVICE_DISABLED, "%d != ERROR_SERVICE_DISABLED\n", le);
+ ok(le == ERROR_SERVICE_DISABLED, "%d != ERROR_SERVICE_DISABLED\n", le);
/* Then one with a bad path */
displayname = "Winetest Bad Path";
diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index fe33ce1..573b748 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -961,6 +961,9 @@ DWORD __cdecl svcctl_StartServiceW(
if ((err = validate_service_handle(hService, SERVICE_START, &service)) != 0)
return err;
+ if (service->service_entry->config.dwStartType == SERVICE_DISABLED)
+ return ERROR_SERVICE_DISABLED;
+
err = service_start(service->service_entry, dwNumServiceArgs, lpServiceArgVectors);
return err;
--
1.7.5.4
More information about the wine-patches
mailing list