diff options
author | mike <mike@FreeBSD.org> | 2002-06-09 00:46:24 +0000 |
---|---|---|
committer | mike <mike@FreeBSD.org> | 2002-06-09 00:46:24 +0000 |
commit | d86e0bcc0c2ce3bcdccce735edeaacb42ef49a20 (patch) | |
tree | a60faf97caf5fd96dec0e80cc9446dfc5d7f52f7 /bin | |
parent | 016feefa33ac6baeb05fc237d397ead5ccf65d4a (diff) | |
download | FreeBSD-src-d86e0bcc0c2ce3bcdccce735edeaacb42ef49a20.zip FreeBSD-src-d86e0bcc0c2ce3bcdccce735edeaacb42ef49a20.tar.gz |
Check the return value of getcwd() to avoid printf()ing a NULL. Mark
usage() as __dead2 to avoid a GCC warning.
Spotted by: keramida
Diffstat (limited to 'bin')
-rw-r--r-- | bin/realpath/realpath.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bin/realpath/realpath.c b/bin/realpath/realpath.c index 2cd9e60..57cbb97 100644 --- a/bin/realpath/realpath.c +++ b/bin/realpath/realpath.c @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); #include <stdlib.h> #include <unistd.h> -static void usage(void); +static void usage(void) __dead2; int main(int argc, char *argv[]) @@ -49,9 +49,10 @@ main(int argc, char *argv[]) char buf[PATH_MAX]; char *p; - if (argc == 1) - p = getcwd(NULL, 0); - else if (argc == 2) { + if (argc == 1) { + if ((p = getcwd(NULL, 0)) == NULL) + err(1, "getcwd()"); + } else if (argc == 2) { if ((p = realpath(argv[1], buf)) == NULL) err(1, "%s", argv[1]); } else |