diff --git a/coccinelle/exit.cocci b/coccinelle/exit.cocci new file mode 100644 index 000000000..8b8160057 --- /dev/null +++ b/coccinelle/exit.cocci @@ -0,0 +1,16 @@ +@@ +@@ +- exit(0); ++ exit(EXIT_SUCCESS); +@@ +@@ +- _exit(0); ++ _exit(EXIT_SUCCESS); +@@ +@@ +- exit(1); ++ exit(EXIT_FAILURE); +@@ +@@ +- _exit(1); ++ _exit(EXIT_FAILURE); diff --git a/src/lxc/attach.c b/src/lxc/attach.c index df9dda02e..eb5ae7460 100644 --- a/src/lxc/attach.c +++ b/src/lxc/attach.c @@ -1521,7 +1521,7 @@ int lxc_attach(const char *name, const char *lxcpath, /* The rest is in the hands of the initial and the attached process. */ lxc_proc_put_context_info(init_ctx); - _exit(0); + _exit(EXIT_SUCCESS); } int lxc_attach_run_command(void *payload) diff --git a/src/lxc/cmd/lxc_init.c b/src/lxc/cmd/lxc_init.c index 7b94f37b6..d9ba40b8d 100644 --- a/src/lxc/cmd/lxc_init.c +++ b/src/lxc/cmd/lxc_init.c @@ -459,13 +459,13 @@ __noreturn static void print_usage_exit(const struct option longopts[]) { fprintf(stderr, "Usage: lxc-init [-n|--name=NAME] [-h|--help] [--usage] [--version]\n\ [-q|--quiet] [-P|--lxcpath=LXCPATH]\n"); - exit(0); + exit(EXIT_SUCCESS); } __noreturn static void print_version_exit(void) { printf("%s\n", LXC_VERSION); - exit(0); + exit(EXIT_SUCCESS); } static void print_help(void) diff --git a/src/lxc/storage/nbd.c b/src/lxc/storage/nbd.c index 09990467a..6c59bacf0 100644 --- a/src/lxc/storage/nbd.c +++ b/src/lxc/storage/nbd.c @@ -208,13 +208,13 @@ static int do_attach_nbd(void *d) if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1) { SYSERROR("Error blocking signals for nbd watcher"); - exit(1); + exit(EXIT_FAILURE); } sfd = signalfd(-1, &mask, 0); if (sfd == -1) { SYSERROR("Error opening signalfd for nbd task"); - exit(1); + exit(EXIT_FAILURE); } if (prctl(PR_SET_PDEATHSIG, prctl_arg(SIGHUP), prctl_arg(0), @@ -231,7 +231,7 @@ static int do_attach_nbd(void *d) if (fdsi.ssi_signo == SIGHUP) { /* container has exited */ nbd_detach(nbd); - exit(0); + exit(EXIT_SUCCESS); } else if (fdsi.ssi_signo == SIGCHLD) { int status; @@ -241,7 +241,7 @@ static int do_attach_nbd(void *d) if ((WIFEXITED(status) && WEXITSTATUS(status) != 0) || WIFSIGNALED(status)) { nbd_detach(nbd); - exit(1); + exit(EXIT_FAILURE); } } } @@ -255,7 +255,7 @@ static int do_attach_nbd(void *d) execlp("qemu-nbd", "qemu-nbd", "-c", nbd, path, (char *)NULL); SYSERROR("Error executing qemu-nbd"); - _exit(1); + _exit(EXIT_FAILURE); } static bool clone_attach_nbd(const char *nbd, const char *path) @@ -304,7 +304,7 @@ static void nbd_detach(const char *path) execlp("qemu-nbd", "qemu-nbd", "-d", path, (char *)NULL); SYSERROR("Error executing qemu-nbd"); - _exit(1); + _exit(EXIT_FAILURE); } /* diff --git a/src/lxc/tools/arguments.c b/src/lxc/tools/arguments.c index f335f6225..859a9fbc3 100644 --- a/src/lxc/tools/arguments.c +++ b/src/lxc/tools/arguments.c @@ -135,13 +135,13 @@ __noreturn static void print_usage_exit(const struct option longopts[], } fprintf(stderr, "\n"); - exit(0); + exit(EXIT_SUCCESS); } __noreturn static void print_version_exit() { printf("%s\n", lxc_get_version()); - exit(0); + exit(EXIT_SUCCESS); } __noreturn static void print_help_exit(const struct lxc_arguments *args, diff --git a/src/lxc/tools/lxc_autostart.c b/src/lxc/tools/lxc_autostart.c index d6f3cb126..ccac42b1c 100644 --- a/src/lxc/tools/lxc_autostart.c +++ b/src/lxc/tools/lxc_autostart.c @@ -512,7 +512,7 @@ int main(int argc, char *argv[]) free(containers); if (failed == count) - exit(1); /* Total failure */ + exit(EXIT_FAILURE); /* Total failure */ else if (failed > 0) exit(2); /* Partial failure */ diff --git a/src/tests/aa.c b/src/tests/aa.c index 7a83e8e17..69808b6f3 100644 --- a/src/tests/aa.c +++ b/src/tests/aa.c @@ -154,7 +154,7 @@ int main(int argc, char *argv[]) c = lxc_container_new(MYNAME, NULL); if (!c) { fprintf(stderr, "%s: %d: failed to load first container\n", __FILE__, __LINE__); - exit(1); + exit(EXIT_FAILURE); } if (c->is_defined(c)) { @@ -190,9 +190,9 @@ int main(int argc, char *argv[]) c->stop(c); try_to_remove(); - exit(0); + exit(EXIT_SUCCESS); err: try_to_remove(); - exit(1); + exit(EXIT_FAILURE); } diff --git a/src/tests/cgpath.c b/src/tests/cgpath.c index de999417c..f4e246943 100644 --- a/src/tests/cgpath.c +++ b/src/tests/cgpath.c @@ -184,7 +184,7 @@ int main() * pam_cgroup */ if (geteuid() != 0) { TSTERR("requires privilege"); - exit(0); + exit(EXIT_SUCCESS); } #if TEST_ALREADY_RUNNING_CT diff --git a/src/tests/list.c b/src/tests/list.c index 37f910e61..293835756 100644 --- a/src/tests/list.c +++ b/src/tests/list.c @@ -99,5 +99,5 @@ int main(int argc, char *argv[]) test_list_func(lxcpath, "Active:", list_active_containers); test_list_func(lxcpath, "All:", list_all_containers); - exit(0); + exit(EXIT_SUCCESS); } diff --git a/src/tests/locktests.c b/src/tests/locktests.c index cfec5f1ba..74cd48541 100644 --- a/src/tests/locktests.c +++ b/src/tests/locktests.c @@ -37,46 +37,46 @@ static void test_two_locks(void) char c; if (pipe(p) < 0) - exit(1); + exit(EXIT_FAILURE); if ((pid = fork()) < 0) - exit(1); + exit(EXIT_FAILURE); if (pid == 0) { if (read(p[0], &c, 1) < 0) { perror("read"); - exit(1); + exit(EXIT_FAILURE); } l = lxc_newlock("/tmp", "lxctest-sem"); if (!l) { fprintf(stderr, "%d: child: failed to create lock\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } if (lxclock(l, 0) < 0) { fprintf(stderr, "%d: child: failed to grab lock\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } fprintf(stderr, "%d: child: grabbed lock\n", __LINE__); - exit(0); + exit(EXIT_SUCCESS); } l = lxc_newlock("/tmp", "lxctest-sem"); if (!l) { fprintf(stderr, "%d: failed to create lock\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } if (lxclock(l, 0) < 0) { fprintf(stderr, "%d; failed to get lock\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } if (write(p[1], "a", 1) < 0) { perror("write"); - exit(1); + exit(EXIT_FAILURE); } sleep(3); @@ -87,13 +87,13 @@ static void test_two_locks(void) printf("%d exited normally with exit code %d\n", pid, WEXITSTATUS(status)); if (WEXITSTATUS(status) != 0) - exit(1); + exit(EXIT_FAILURE); } else printf("%d did not exit normally\n", pid); return; } else if (ret < 0) { perror("waitpid"); - exit(1); + exit(EXIT_FAILURE); } kill(pid, SIGKILL); @@ -112,26 +112,26 @@ int main(int argc, char *argv[]) lock = lxc_newlock(NULL, NULL); if (!lock) { fprintf(stderr, "%d: failed to get unnamed lock\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } ret = lxclock(lock, 0); if (ret) { fprintf(stderr, "%d: failed to take unnamed lock (%d)\n", __LINE__, ret); - exit(1); + exit(EXIT_FAILURE); } ret = lxcunlock(lock); if (ret) { fprintf(stderr, "%d: failed to put unnamed lock (%d)\n", __LINE__, ret); - exit(1); + exit(EXIT_FAILURE); } lxc_putlock(lock); lock = lxc_newlock("/var/lib/lxc", mycontainername); if (!lock) { fprintf(stderr, "%d: failed to get lock\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } struct stat sb; @@ -141,7 +141,7 @@ int main(int argc, char *argv[]) if (ret != 0) { fprintf(stderr, "%d: filename %s not created\n", __LINE__, pathname); - exit(1); + exit(EXIT_FAILURE); } lxc_putlock(lock); diff --git a/src/tests/may_control.c b/src/tests/may_control.c index 2930deb2a..88437140d 100644 --- a/src/tests/may_control.c +++ b/src/tests/may_control.c @@ -24,7 +24,7 @@ static void usage(const char *me) { printf("Usage: %s name [lxcpath]\n", me); - exit(0); + exit(EXIT_SUCCESS); } int main(int argc, char *argv[]) diff --git a/src/tests/snapshot.c b/src/tests/snapshot.c index 1b7d7ab44..e62230bc2 100644 --- a/src/tests/snapshot.c +++ b/src/tests/snapshot.c @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) c = lxc_container_new(MYNAME, NULL); if (!c) { fprintf(stderr, "%s: %d: failed to load first container\n", __FILE__, __LINE__); - exit(1); + exit(EXIT_FAILURE); } if (c->is_defined(c)) { @@ -188,12 +188,12 @@ good: try_to_remove(); printf("All tests passed\n"); - exit(0); + exit(EXIT_SUCCESS); err: lxc_container_put(c); try_to_remove(); fprintf(stderr, "Exiting on error\n"); - exit(1); + exit(EXIT_FAILURE); } diff --git a/src/tests/startone.c b/src/tests/startone.c index a69c3c9ea..de9af07f8 100644 --- a/src/tests/startone.c +++ b/src/tests/startone.c @@ -170,13 +170,13 @@ int main(int argc, char *argv[]) if (!lxc_container_get(c)) { fprintf(stderr, "%d: failed to get extra ref to container\n", __LINE__); - exit(1); + exit(EXIT_FAILURE); } c->want_daemonize(c, true); if (!c->startl(c, 0, NULL)) { fprintf(stderr, "%d: %s failed to start\n", __LINE__, c->name); - exit(1); + exit(EXIT_FAILURE); } sleep(3);