Fix path lengths.
[nssm.git] / service.cpp
index b8b9992..ef1ae42 100644 (file)
@@ -4,9 +4,9 @@ SERVICE_STATUS service_status;
 SERVICE_STATUS_HANDLE service_handle;\r
 HANDLE wait_handle;\r
 HANDLE pid;\r
-static char service_name[MAX_PATH];\r
-char exe[MAX_PATH];\r
-char flags[MAX_PATH];\r
+static char service_name[SERVICE_NAME_LENGTH];\r
+char exe[EXE_LENGTH];\r
+char flags[CMD_LENGTH];\r
 char dir[MAX_PATH];\r
 \r
 static enum { NSSM_EXIT_RESTART, NSSM_EXIT_IGNORE, NSSM_EXIT_REALLY } exit_actions;\r
@@ -59,10 +59,10 @@ int install_service(char *name, char *exe, char *flags) {
   GetModuleFileName(0, path, MAX_PATH);\r
 \r
   /* Construct command */\r
-  char command[MAX_PATH];\r
+  char command[CMD_LENGTH];\r
   size_t runlen = strlen(NSSM_RUN);\r
   size_t pathlen = strlen(path);\r
-  if (pathlen + runlen + 2 >= MAX_PATH) {\r
+  if (pathlen + runlen + 2 >= VALUE_LENGTH) {\r
     fprintf(stderr, "The full path to " NSSM " is too long!\n");\r
     return 3;\r
   }\r
@@ -222,7 +222,7 @@ int start_service() {
   ZeroMemory(&pi, sizeof(pi));\r
 \r
   /* Launch executable with arguments */\r
-  char cmd[MAX_PATH];\r
+  char cmd[CMD_LENGTH];\r
   if (_snprintf(cmd, sizeof(cmd), "%s %s", exe, flags) < 0) {\r
     log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, "command line", "start_service", 0);\r
     return stop_service(2);\r