From 80b075052300ce79a210c6fef7256efc9daf521c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 6 Jul 2025 15:45:44 +0200 Subject: [PATCH] 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 --- src/service.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/service.c b/src/service.c index 6b35519f..8bb75810 100644 --- a/src/service.c +++ b/src/service.c @@ -698,8 +698,7 @@ static int service_start(svc_t *svc) close(fd); result = -1; goto fail; - } - if (pid > 1) { + } else if (pid > 0) { struct sockaddr_un sun; size_t len; @@ -734,7 +733,7 @@ static int service_start(svc_t *svc) default: break; } - } else if (pid == 0) { + } else { /* pid == 0 */ char str[strlen(NOTIFY_PATH) + 32]; char *args[MAX_NUM_SVC_ARGS + 1]; 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), status, strerror(errno)); _exit(status); - } else if (debug) { - dbg("Starting PID %d: %s", svc->pid, cmdline); } if (!svc_is_sysv(svc))