summaryrefslogtreecommitdiff
path: root/src/faketime.c
diff options
context:
space:
mode:
authorKees Cook <kees@debian.org>2014-06-07 16:42:46 +0200
committerWolfgang Hommel <wolfgang.hommel@lrz.de>2014-06-07 16:42:46 +0200
commit7d1a8307e164f94005b795992b2e1a843d34e608 (patch)
tree2d2b12777446d50af63c1481fd49c55253b27517 /src/faketime.c
parent7fdcd1adaf515a69aad73b5ac56174fcab8f714a (diff)
downloadlibfaketime-7d1a8307e164f94005b795992b2e1a843d34e608.tar.gz
pass through exit codes when possible, otherwise report
failure and full waitpid status and exit with a failure.
Diffstat (limited to 'src/faketime.c')
-rw-r--r--src/faketime.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/faketime.c b/src/faketime.c
index f222627..44bdf76 100644
--- a/src/faketime.c
+++ b/src/faketime.c
@@ -337,7 +337,12 @@ int main (int argc, char **argv)
int ret;
waitpid(child_pid, &ret, 0);
cleanup_shobjs();
- exit(ret);
+ if (WIFSIGNALED(ret))
+ {
+ fprintf(stderr, "Caught %s\n", strsignal(WTERMSIG(ret)));
+ exit(EXIT_FAILURE);
+ }
+ exit(WEXITSTATUS(ret));
}
}