diff options
author | kevlo <kevlo@FreeBSD.org> | 2007-10-30 03:44:10 +0000 |
---|---|---|
committer | kevlo <kevlo@FreeBSD.org> | 2007-10-30 03:44:10 +0000 |
commit | 9a9592dceb6f0e4272fe29a22e426edd9092ae74 (patch) | |
tree | 8a90af60acc60174122b0a69e0a47ec744ea809a /usr.bin/calendar | |
parent | b5d104ba4d2fd20589d18b21e13ef7b90328ab70 (diff) | |
download | FreeBSD-src-9a9592dceb6f0e4272fe29a22e426edd9092ae74.zip FreeBSD-src-9a9592dceb6f0e4272fe29a22e426edd9092ae74.tar.gz |
Never use getenv("HOME") without checking for NULL and non-zero
Obtained from: OpenBSD
Diffstat (limited to 'usr.bin/calendar')
-rw-r--r-- | usr.bin/calendar/io.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.bin/calendar/io.c b/usr.bin/calendar/io.c index e5a0a08..49bfa53 100644 --- a/usr.bin/calendar/io.c +++ b/usr.bin/calendar/io.c @@ -337,7 +337,10 @@ opencal(void) if (!freopen(calendarFile, "r", stdin)) return (NULL); } else { - chdir(getenv("HOME")); + char *home = getenv("HOME"); + if (home == NULL || *home == '\0') + errx(1, "cannot get home directory"); + chdir(home); for (found = i = 0; i < sizeof(calendarHomes) / sizeof(calendarHomes[0]); i++) if (chdir(calendarHomes[i]) == 0 && |