aboutsummaryrefslogtreecommitdiffstats
path: root/src/firejail/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/firejail/main.c')
-rw-r--r--src/firejail/main.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/firejail/main.c b/src/firejail/main.c
index e2f197a92..eebb04fcc 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -1778,7 +1778,8 @@ int main(int argc, char **argv) {
1778 signal (SIGTERM, my_handler); 1778 signal (SIGTERM, my_handler);
1779 1779
1780 // wait for the child to finish 1780 // wait for the child to finish
1781 waitpid(child, NULL, 0); 1781 int status = NULL;
1782 waitpid(child, &status, 0);
1782 1783
1783 // free globals 1784 // free globals
1784#ifdef HAVE_SECCOMP 1785#ifdef HAVE_SECCOMP
@@ -1799,7 +1800,13 @@ int main(int argc, char **argv) {
1799 } 1800 }
1800 } 1801 }
1801 1802
1802 myexit(0); 1803 if (WIFEXITED(status)){
1804 myexit(WEXITSTATUS(status));
1805 } else if (WIFSIGNALED(status)) {
1806 myexit(WTERMSIG(status));
1807 } else {
1808 myexit(0);
1809 }
1803 1810
1804 return 0; 1811 return 0;
1805} 1812}