don't forget to close "dirp" when chdir fails
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Sat, 13 Nov 1982 03:01:59 +0000 (19:01 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Sat, 13 Nov 1982 03:01:59 +0000 (19:01 -0800)
SCCS-vsn: usr.bin/du/du.c 4.8

usr/src/usr.bin/du/du.c

index df6cbbb..4089ba7 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)du.c        4.7 (Berkeley) %G%";
+static char *sccsid = "@(#)du.c        4.8 (Berkeley) %G%";
 #endif
 
 #include <stdio.h>
 #endif
 
 #include <stdio.h>
@@ -126,6 +126,8 @@ descend(base, name)
        if (chdir(name) < 0) {
                perror(base);
                *ebase0 = 0;
        if (chdir(name) < 0) {
                perror(base);
                *ebase0 = 0;
+               closedir(dirp);
+               dirp = NULL;
                return (0);
        }
        while (dp = readdir(dirp)) {
                return (0);
        }
        while (dp = readdir(dirp)) {