diff options
author | Pedro F. Giffuni <pfg@FreeBSD.org> | 2015-02-13 00:21:54 +0000 |
---|---|---|
committer | Pedro F. Giffuni <pfg@FreeBSD.org> | 2015-02-13 00:21:54 +0000 |
commit | 09d73a0662cf5b84c75004b9193b97b7d3047fb1 (patch) | |
tree | 2a0d6e16591faafee3f6eb57a7d5c703e3e56f91 | |
parent | 9f65be6caf212fb7ea4cba8cff3ac94e89dda05d (diff) |
Notes
-rw-r--r-- | lib/libc/gen/ulimit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/gen/ulimit.c b/lib/libc/gen/ulimit.c index 9f9c9126c5c5..e1bc02066209 100644 --- a/lib/libc/gen/ulimit.c +++ b/lib/libc/gen/ulimit.c @@ -53,13 +53,13 @@ ulimit(int cmd, ...) va_start(ap, cmd); arg = va_arg(ap, long); va_end(ap); - if (arg > RLIM_INFINITY / 512 || arg < 0) - arg = RLIM_INFINITY / 512; limit.rlim_max = limit.rlim_cur = (rlim_t)arg * 512; /* The setrlimit() function sets errno to EPERM if needed. */ if (setrlimit(RLIMIT_FSIZE, &limit) == -1) return (-1); + if (arg * 512 > LONG_MAX) + return (LONG_MAX); return (arg); } else { errno = EINVAL; |