summaryrefslogtreecommitdiff
path: root/src/basic/rlimit-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-09-21 19:37:11 +0200
committerLennart Poettering <lennart@poettering.net>2017-09-22 15:28:05 +0200
commitc4ad3f43ef4cbe73d7d2c4516ab17f0e907dfe16 (patch)
tree38f7ee7fb2d34425ba5ea362e3f617d669de10c7 /src/basic/rlimit-util.c
parent915b1d0174af808dd4cbea1357490febfba7cdc0 (diff)
downloadsystemd-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.c3
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);