Module Name: src
Committed By: sjg
Date: Tue Mar 29 17:19:22 UTC 2011
Modified Files:
src/usr.bin/make: cond.c
Log Message:
CondDoExists: Avoid use after free()
To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 src/usr.bin/make/cond.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.61 src/usr.bin/make/cond.c:1.62
--- src/usr.bin/make/cond.c:1.61 Sun Feb 13 21:24:42 2011
+++ src/usr.bin/make/cond.c Tue Mar 29 17:19:22 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: cond.c,v 1.61 2011/02/13 21:24:42 sjg Exp $ */
+/* $NetBSD: cond.c,v 1.62 2011/03/29 17:19:22 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: cond.c,v 1.61 2011/02/13 21:24:42 sjg Exp $";
+static char rcsid[] = "$NetBSD: cond.c,v 1.62 2011/03/29 17:19:22 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94";
#else
-__RCSID("$NetBSD: cond.c,v 1.61 2011/02/13 21:24:42 sjg Exp $");
+__RCSID("$NetBSD: cond.c,v 1.62 2011/03/29 17:19:22 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -401,16 +401,16 @@
char *path;
path = Dir_FindFile(arg, dirSearchPath);
+ if (DEBUG(COND)) {
+ fprintf(debug_file, "exists(%s) result is \"%s\"\n",
+ arg, path ? path : "");
+ }
if (path != NULL) {
result = TRUE;
free(path);
} else {
result = FALSE;
}
- if (DEBUG(COND)) {
- fprintf(debug_file, "exists(%s) result is \"%s\"\n",
- arg, path ? path : "");
- }
return (result);
}