Simplify if-if-else-if-else in service_start()

Coverity Scan gets very confused and think we are leaking sd in
the systemd notify case.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2025-07-06 15:45:44 +02:00
1 parent 4525aec118
commit 80b0750523
1 file changed
+2 -5
+2 -5
View File
@@ -698,8 +698,7 @@ static int service_start(svc_t *svc)
close(fd); close(fd);
result = -1; result = -1;
goto fail; goto fail;
} } else if (pid > 0) {
if (pid > 1) {
struct sockaddr_un sun; struct sockaddr_un sun;
size_t len; size_t len;
@@ -734,7 +733,7 @@ static int service_start(svc_t *svc)
default: default:
break; break;
} }
} else if (pid == 0) { } else { /* pid == 0 */
char str[strlen(NOTIFY_PATH) + 32]; char str[strlen(NOTIFY_PATH) + 32];
char *args[MAX_NUM_SVC_ARGS + 1]; char *args[MAX_NUM_SVC_ARGS + 1];
int status; int status;
@@ -885,8 +884,6 @@ static int service_start(svc_t *svc)
syslog(LOG_ERR, "failed starting %s, exit code %d: %s", svc_ident(svc, NULL, 0), syslog(LOG_ERR, "failed starting %s, exit code %d: %s", svc_ident(svc, NULL, 0),
status, strerror(errno)); status, strerror(errno));
_exit(status); _exit(status);
} else if (debug) {
dbg("Starting PID %d: %s", svc->pid, cmdline);
} }
if (!svc_is_sysv(svc)) if (!svc_is_sysv(svc))