summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2012-02-22 00:15:27 +0000
committerDmitry V. Levin <ldv@altlinux.org>2012-02-22 00:15:27 +0000
commit6c38156b6e345a25118e0b7144822bdf55839631 (patch)
tree0f7cea4001ba1810427f782c70a5be962bff5f33
parent44824b9d4b05ba81d722f586b6e2803e7d18ca7b (diff)
downloadstrace-6c38156b6e345a25118e0b7144822bdf55839631.tar.gz
Avoid potential core file clobbering on exit
* strace.c (main): Set RLIMIT_CORE to zero before terminating itself with a deadly signal. This fixes Debian bug #656398.
-rw-r--r--strace.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/strace.c b/strace.c
index 2bca0de87..4030985bb 100644
--- a/strace.c
+++ b/strace.c
@@ -1416,6 +1416,10 @@ main(int argc, char *argv[])
cleanup();
fflush(NULL);
if (exit_code > 0xff) {
+ /* Avoid potential core file clobbering. */
+ struct rlimit rlim = {0, 0};
+ setrlimit(RLIMIT_CORE, &rlim);
+
/* Child was killed by a signal, mimic that. */
exit_code &= 0xff;
signal(exit_code, SIG_DFL);