From: Thomas Hindoe Paaboel Andersen Date: Tue, 9 Jun 2015 20:03:05 +0000 (+0200) Subject: core: log oom during killing spree X-Git-Tag: v221~155^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F126%2Fhead;p=thirdparty%2Fsystemd.git core: log oom during killing spree but don't do anything else. We still want to kill as much as possible. Coverity CID#996306 --- diff --git a/src/core/killall.c b/src/core/killall.c index 6e85923581f..2a9d72c901a 100644 --- a/src/core/killall.c +++ b/src/core/killall.c @@ -158,6 +158,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { while ((d = readdir(dir))) { pid_t pid; + int r; if (d->d_type != DT_DIR && d->d_type != DT_UNKNOWN) @@ -177,8 +178,11 @@ static int killall(int sig, Set *pids, bool send_sighup) { } if (kill(pid, sig) >= 0) { - if (pids) - set_put(pids, ULONG_TO_PTR(pid)); + if (pids) { + r = set_put(pids, ULONG_TO_PTR(pid)); + if (r < 0) + log_oom(); + } } else if (errno != ENOENT) log_warning_errno(errno, "Could not kill %d: %m", pid);