prlimit: Translate old_rlimit from RLIM64_INFINITY to RLIM_INFINITY [BZ #22678]
commit24731685c89dbd2c4579234583c268b52d943d0b
authorAurelien Jarno <aurelien@aurel32.net>
Fri, 5 Jan 2018 19:34:10 +0000 (5 20:34 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 5 Jan 2018 19:34:10 +0000 (5 20:34 +0100)
tree480886d1e91f81d6a925972e3686a1af4afcc89c
parent8e900969dbde8e46963b3be4005d7941792327cb
prlimit: Translate old_rlimit from RLIM64_INFINITY to RLIM_INFINITY [BZ #22678]

prlimit called without a new value fails on 32-bit machines if any of
the soft or hard limits are infinity. This is because prlimit does not
translate old_rlimit from RLIM64_INFINITY to RLIM_INFINITY, but checks
that the value returned by the prlimit64 syscall fits into a 32-bit
value, like it is done for example in getrlimit. Note that on the
other hand new_rlimit is correctly translated from RLIM_INFINITY to
RLIM64_INFINITY before calling the syscall.

This patch fixes that.

Changelog:
[BZ #22678]
* sysdeps/unix/sysv/linux/prlimit.c (prlimit): Translate
old_rlimit from RLIM64_INFINITY to RLIM_INFINITY.
ChangeLog
sysdeps/unix/sysv/linux/prlimit.c