diff options
| author | christos <christos@NetBSD.org> | 2004-11-11 04:03:23 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2004-11-11 04:03:23 +0000 |
| commit | 5120bd8da8ff59cb021f4da163c0f2ffdd899562 (patch) | |
| tree | 2c57760bcb012fe2de00cf07d6d0a3fea93e3645 /lib | |
| parent | 65f9eaa0a7b7a831a88c9457c9626bfb51e48faa (diff) | |
More error checking.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libc/gen/devname.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/libc/gen/devname.c b/lib/libc/gen/devname.c index 3bfd5cbc8cb..6d53d4ff559 100644 --- a/lib/libc/gen/devname.c +++ b/lib/libc/gen/devname.c @@ -1,4 +1,4 @@ -/* $NetBSD: devname.c,v 1.12 2004/11/11 03:22:30 christos Exp $ */ +/* $NetBSD: devname.c,v 1.13 2004/11/11 04:03:23 christos Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -74,7 +74,7 @@ #if 0 static char sccsid[] = "@(#)devname.c 8.2 (Berkeley) 4/29/95"; #else -__RCSID("$NetBSD: devname.c,v 1.12 2004/11/11 03:22:30 christos Exp $"); +__RCSID("$NetBSD: devname.c,v 1.13 2004/11/11 04:03:23 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -112,11 +112,14 @@ static mode_t getptsmajor(void); static mode_t getptsmajor(void) { - DIR *dirp = opendir(_PATH_DEV_PTS); + DIR *dirp; struct dirent *dp; struct stat st; char buf[MAXPATHLEN]; + if ((dirp = opendir(_PATH_DEV_PTS)) == NULL) + return (mode_t)~0; + while ((dp = readdir(dirp)) != NULL) { if (dp->d_name[0] == '.') continue; |
