[git commit] getcwd: Fix memory-leak in error path

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Tue May 10 19:22:25 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=e48bd60ce9a70d190acfee7db98c0f163a2c5fdb
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 libc/sysdeps/linux/common/getcwd.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libc/sysdeps/linux/common/getcwd.c b/libc/sysdeps/linux/common/getcwd.c
index 75d7a1c..8751001 100644
--- a/libc/sysdeps/linux/common/getcwd.c
+++ b/libc/sysdeps/linux/common/getcwd.c
@@ -69,7 +69,7 @@ static char *search_dir(dev_t this_dev, ino_t this_ino, char *path_buf, int path
 	slen++;
 
 	dp = opendir(path_buf);
-	if (dp == 0) {
+	if (!dp) {
 	    goto oops;
 	}
 
@@ -78,6 +78,7 @@ static char *search_dir(dev_t this_dev, ino_t this_ino, char *path_buf, int path
 		if (slow_search || this_ino == d->d_ino) {
 # endif
 			if (slen + strlen(d->d_name) > path_size) {
+			    closedir(dp);
 			    goto oops;
 			}
 			strcpy(ptr + 1, d->d_name);
-- 
1.7.3.4



More information about the uClibc-cvs mailing list