diff options
author | John Crispin <blogic@openwrt.org> | 2015-03-28 15:41:58 +0100 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2015-03-28 18:35:21 +0100 |
commit | 91da63d3d3fd680c805dd1a1b78df5b8731a8173 (patch) | |
tree | ec9a568a398ae536ccf7ac89a23942a60ef25c98 /upgraded | |
parent | 74d835463e05e5761f6f5271e487f299f29d3f07 (diff) | |
download | unitd-91da63d3d3fd680c805dd1a1b78df5b8731a8173.tar unitd-91da63d3d3fd680c805dd1a1b78df5b8731a8173.zip |
properly handle return codes
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'upgraded')
-rw-r--r-- | upgraded/upgraded.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/upgraded/upgraded.c b/upgraded/upgraded.c index 1e4057a..d7433e7 100644 --- a/upgraded/upgraded.c +++ b/upgraded/upgraded.c @@ -18,6 +18,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <errno.h> #include <libubox/uloop.h> @@ -55,12 +56,14 @@ int main(int argc, char **argv) { pid_t p = getpid(); - chdir("/tmp"); - if (p != 1) { fprintf(stderr, "this tool needs to run as pid 1\n"); return -1; } + if (chdir("/tmp") == -1) { + fprintf(stderr, "failed to chdir to /tmp: %s\n", strerror(errno)); + return -1; + } if (argc != 2) { fprintf(stderr, "sysupgrade stage 2 failed, no folder specified\n"); return -1; |