From: Yu Watanabe Date: Tue, 18 Mar 2025 16:33:54 +0000 (+0900) Subject: oomd: do not ignore failure in sd_lisen_fds() X-Git-Tag: v258-rc1~1051^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=024bb0c63e56672d7ff43072bc76b5dbf5192248;p=thirdparty%2Fsystemd.git oomd: do not ignore failure in sd_lisen_fds() Also, use -EBADF for an invalid file descriptor. --- diff --git a/src/oom/oomd.c b/src/oom/oomd.c index 518ddc47c10..53c4948a732 100644 --- a/src/oom/oomd.c +++ b/src/oom/oomd.c @@ -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);