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); }