]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
exec-invoke: handle errno log message writing in write_confirm_error_fd() like we...
authorLennart Poettering <lennart@poettering.net>
Thu, 11 Jul 2024 09:44:31 +0000 (11:44 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 19 Jul 2024 09:44:04 +0000 (11:44 +0200)
src/core/exec-invoke.c

index 5a47c336c0baf6a60b114118884f0d6daa478421..7d8270bc1c8bd17bf7a87c6d03d367b40e94d3c2 100644 (file)
@@ -694,15 +694,16 @@ static int setup_confirm_stdio(
 }
 
 static void write_confirm_error_fd(int err, int fd, const char *unit_id) {
-        assert(err < 0);
+        assert(err != 0);
+        assert(fd >= 0);
         assert(unit_id);
 
-        if (err == -ETIMEDOUT)
+        errno = abs(err);
+
+        if (errno == ETIMEDOUT)
                 dprintf(fd, "Confirmation question timed out for %s, assuming positive response.\n", unit_id);
-        else {
-                errno = -err;
-                dprintf(fd, "Couldn't ask confirmation for %s: %m, assuming positive response.\n", unit_id);
-        }
+        else
+                dprintf(fd, "Couldn't ask confirmation for %s, assuming positive response: %m\n", unit_id);
 }
 
 static void write_confirm_error(int err, const char *vc, const char *unit_id) {