diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-09-21 19:37:11 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2017-09-22 15:28:05 +0200 |
commit | c4ad3f43ef4cbe73d7d2c4516ab17f0e907dfe16 (patch) | |
tree | 38f7ee7fb2d34425ba5ea362e3f617d669de10c7 /src/basic/rlimit-util.c | |
parent | 915b1d0174af808dd4cbea1357490febfba7cdc0 (diff) | |
download | systemd-c4ad3f43ef4cbe73d7d2c4516ab17f0e907dfe16.tar.gz |
rlimit: don't assume getrlimit() always succeeds
In times of seccomp it might very well fail, and given that we return
failures from this function anyway, let's also propagate getrlimit()
failures, just to be safe.
Diffstat (limited to 'src/basic/rlimit-util.c')
-rw-r--r-- | src/basic/rlimit-util.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c index ca834df621..5c41429f01 100644 --- a/src/basic/rlimit-util.c +++ b/src/basic/rlimit-util.c @@ -42,7 +42,8 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { /* So we failed to set the desired setrlimit, then let's try * to get as close as we can */ - assert_se(getrlimit(resource, &highest) == 0); + if (getrlimit(resource, &highest) < 0) + return -errno; fixed.rlim_cur = MIN(rlim->rlim_cur, highest.rlim_max); fixed.rlim_max = MIN(rlim->rlim_max, highest.rlim_max); |