summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2004-11-11 04:03:23 +0000
committerchristos <christos@NetBSD.org>2004-11-11 04:03:23 +0000
commit5120bd8da8ff59cb021f4da163c0f2ffdd899562 (patch)
tree2c57760bcb012fe2de00cf07d6d0a3fea93e3645 /lib/libc
parent65f9eaa0a7b7a831a88c9457c9626bfb51e48faa (diff)
More error checking.
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/gen/devname.c9
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;