]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
oomd: do not ignore failure in sd_lisen_fds()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 18 Mar 2025 16:33:54 +0000 (01:33 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 18 Mar 2025 16:47:48 +0000 (01:47 +0900)
Also, use -EBADF for an invalid file descriptor.

src/oom/oomd.c

index 518ddc47c10bbc5f9c195b90e33c4146562a8c71..53c4948a73283eea6037d048a20a04c77a8808c1 100644 (file)
@@ -115,10 +115,12 @@ static int run(int argc, char *argv[]) {
          * requirements do not have a reliable means to check for in code. */
 
         int n = sd_listen_fds(0);
+        if (n < 0)
+                return log_error_errno(n, "Failed to determine number of listening fds: %m");
         if (n > 1)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Received too many file descriptors");
 
-        int fd = n == 1 ? SD_LISTEN_FDS_START : -1;
+        int fd = n == 1 ? SD_LISTEN_FDS_START : -EBADF;
 
         /* SwapTotal is always available in /proc/meminfo and defaults to 0, even on swap-disabled kernels. */
         r = get_proc_field("/proc/meminfo", "SwapTotal", WHITESPACE, &swap);