Fix file descriptor leak on error. Noticed by bitblt.
authormillert <millert@openbsd.org>
Wed, 27 Nov 1996 22:00:45 +0000 (22:00 +0000)
committermillert <millert@openbsd.org>
Wed, 27 Nov 1996 22:00:45 +0000 (22:00 +0000)
lib/libc/gen/getcwd.c

index 1ef4183..19f811a 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$OpenBSD: getcwd.c,v 1.2 1996/08/19 08:23:15 tholo Exp $";
+static char rcsid[] = "$OpenBSD: getcwd.c,v 1.3 1996/11/27 22:00:45 millert Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 #include <sys/param.h>
@@ -55,7 +55,7 @@ getcwd(pt, size)
        size_t size;
 {
        register struct dirent *dp;
-       register DIR *dir;
+       register DIR *dir = NULL;
        register dev_t dev;
        register ino_t ino;
        register int first;
@@ -226,5 +226,7 @@ err:
        if (ptsize)
                free(pt);
        free(up);
+       if (dir)
+               (void)closedir(dir);
        return (NULL);
 }