From e23afc3638a79daa7550f5c5a8a20c976db89318 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 28 Nov 2000 21:49:27 +0000 Subject: 2000-11-28 Sergei Organov * libc/getcwd.c: Ensure _closedir(dir) is called even on error exit from the routine. --- cpukit/libcsupport/src/getcwd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'cpukit/libcsupport/src') diff --git a/cpukit/libcsupport/src/getcwd.c b/cpukit/libcsupport/src/getcwd.c index 26b564a760..18189d3e04 100644 --- a/cpukit/libcsupport/src/getcwd.c +++ b/cpukit/libcsupport/src/getcwd.c @@ -74,7 +74,7 @@ getcwd (pt, size) size_t size; { register struct dirent *dp; - register DIR *dir; + register DIR *dir = 0; register dev_t dev; register ino_t ino; register int first; @@ -254,6 +254,7 @@ getcwd (pt, size) bpt -= strlen (dp->d_name); bcopy (dp->d_name, bpt, strlen (dp->d_name)); (void) _closedir (dir); + dir = 0; /* Truncate any file name. */ *bup = '\0'; @@ -271,6 +272,8 @@ notfound: /* FALLTHROUGH */ err: + if(dir) + (void) _closedir (dir); if (ptsize) free (pt); free (up); -- cgit v1.2.3