Module Name: src
Committed By: enami
Date: Thu Jun 21 23:29:23 UTC 2012
Modified Files:
src/lib/libc/gen: getcwd.c
Log Message:
All error path must go through the free function call after an
allocation of resolved path might succeeded.
To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/lib/libc/gen/getcwd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/gen/getcwd.c
diff -u src/lib/libc/gen/getcwd.c:1.52 src/lib/libc/gen/getcwd.c:1.53
--- src/lib/libc/gen/getcwd.c:1.52 Thu Jun 21 21:13:07 2012
+++ src/lib/libc/gen/getcwd.c Thu Jun 21 23:29:23 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: getcwd.c,v 1.52 2012/06/21 21:13:07 christos Exp $ */
+/* $NetBSD: getcwd.c,v 1.53 2012/06/21 23:29:23 enami Exp $ */
/*
* Copyright (c) 1989, 1991, 1993, 1995
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)getcwd.c 8.5 (Berkeley) 2/7/95";
#else
-__RCSID("$NetBSD: getcwd.c,v 1.52 2012/06/21 21:13:07 christos Exp $");
+__RCSID("$NetBSD: getcwd.c,v 1.53 2012/06/21 23:29:23 enami Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -183,7 +183,7 @@ loop:
}
n = readlink(resolved, wbuf[idx], sizeof(wbuf[0]) - 1);
if (n < 0)
- return (NULL);
+ goto out;
if (n == 0) {
errno = ENOENT;
goto out;