summaryrefslogtreecommitdiff
path: root/lib/libc/gen
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1997-09-01 11:12:49 +0000
committerDavid Greenman <dg@FreeBSD.org>1997-09-01 11:12:49 +0000
commitd6e51e019d7b53e743bde2e2594a658e77edd72e (patch)
tree599d3aeba20b7667b28a0a744011d1ed9f80627c /lib/libc/gen
parent2223caa99fe916dbcf76ccd1c8f1e39a6cad6172 (diff)
Notes
Diffstat (limited to 'lib/libc/gen')
-rw-r--r--lib/libc/gen/getcwd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/libc/gen/getcwd.c b/lib/libc/gen/getcwd.c
index dfa482aeec81..65e3344cce9b 100644
--- a/lib/libc/gen/getcwd.c
+++ b/lib/libc/gen/getcwd.c
@@ -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;
@@ -212,7 +212,8 @@ getcwd(pt, size)
*--bpt = '/';
bpt -= dp->d_namlen;
bcopy(dp->d_name, bpt, dp->d_namlen);
- (void)closedir(dir);
+ (void) closedir(dir);
+ dir = NULL;
/* Truncate any file name. */
*bup = '\0';
@@ -230,6 +231,8 @@ notfound:
err:
if (ptsize)
free(pt);
+ if (dir)
+ (void) closedir(dir);
free(up);
return (NULL);
}