diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-02-01 13:40:30 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-02-01 13:40:30 +0100 |
commit | 1ccc2783cae9231f8465f8dc1fd06f3a9052326c (patch) | |
tree | 1714caa0118d3fd6b621399573a22512f72acf0c /src/Hooks | |
parent | e737bdfc889206390226b09640a8c10766515acf (diff) | |
download | abrt-1ccc2783cae9231f8465f8dc1fd06f3a9052326c.tar.gz abrt-1ccc2783cae9231f8465f8dc1fd06f3a9052326c.tar.xz abrt-1ccc2783cae9231f8465f8dc1fd06f3a9052326c.zip |
abrt-hook-ccpp: fix rhbz#560612 "limit '18446744073709551615' is bogus"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src/Hooks')
-rw-r--r-- | src/Hooks/abrt-hook-ccpp.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Hooks/abrt-hook-ccpp.cpp b/src/Hooks/abrt-hook-ccpp.cpp index b844be7..ff06234 100644 --- a/src/Hooks/abrt-hook-ccpp.cpp +++ b/src/Hooks/abrt-hook-ccpp.cpp @@ -77,9 +77,14 @@ int main(int argc, char** argv) int signal_no = xatoi_u(argv[3]); uid_t uid = xatoi_u(argv[4]); off_t ulimit_c = strtoull(argv[5], NULL, 10); + if (ulimit_c < 0) /* unlimited? */ + { + /* set to max possible >0 value */ + ulimit_c = ~((off_t)1 << (sizeof(off_t)*8-1)); + } off_t core_size = 0; - if (errno || pid <= 0 || ulimit_c < 0) + if (errno || pid <= 0) { error_msg_and_die("pid '%s' or limit '%s' is bogus", argv[2], argv[5]); } |