[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1176 - trunk/freebsd6-buildutils/debian/patches



Author: rmh
Date: 2006-02-12 16:48:30 +0000 (Sun, 12 Feb 2006)
New Revision: 1176

Added:
   trunk/freebsd6-buildutils/debian/patches/000_fix_make_double_free.diff
Log:
patches/000_fix_make_double_free.diff: New.  Patch from upstream (1.155:1.158).  Thanks to Petr for spotting this.

Added: trunk/freebsd6-buildutils/debian/patches/000_fix_make_double_free.diff
===================================================================
--- trunk/freebsd6-buildutils/debian/patches/000_fix_make_double_free.diff	2006-02-12 12:13:44 UTC (rev 1175)
+++ trunk/freebsd6-buildutils/debian/patches/000_fix_make_double_free.diff	2006-02-12 16:48:30 UTC (rev 1176)
@@ -0,0 +1,44 @@
+
+Patch from upstream (1.155:1.158).  Thanks to Petr for spotting this.
+
+--- src.old/usr.bin/make/main.c	2006-02-12 17:43:38.000000000 +0100
++++ src/usr.bin/make/main.c	2006-02-12 17:44:22.000000000 +0100
+@@ -235,14 +235,14 @@
+ static Boolean
+ ReadMakefile(const char p[])
+ {
+-	char *fname;			/* makefile to read */
++	char *fname, *fnamesave;	/* makefile to read */
+ 	FILE *stream;
+ 	char *name, path[MAXPATHLEN];
+ 	char *MAKEFILE;
+ 	int setMAKEFILE;
+ 
+ 	/* XXX - remove this once constification is done */
+-	fname = estrdup(p);
++	fnamesave = fname = estrdup(p);
+ 
+ 	if (!strcmp(fname, "-")) {
+ 		Parse_File("(stdin)", stdin);
+@@ -297,8 +297,10 @@
+ 		name = Path_FindFile(fname, &parseIncPath);
+ 		if (!name)
+ 			name = Path_FindFile(fname, &sysIncPath);
+-		if (!name || !(stream = fopen(name, "r")))
++		if (!name || !(stream = fopen(name, "r"))) {
++			free(fnamesave);
+ 			return (FALSE);
++		}
+ 		MAKEFILE = fname = name;
+ 		/*
+ 		 * set the MAKEFILE variable desired by System V fans -- the
+@@ -309,8 +311,8 @@
+ 		if (setMAKEFILE)
+ 			Var_SetGlobal("MAKEFILE", MAKEFILE);
+ 		Parse_File(fname, stream);
+-		fclose(stream);
+ 	}
++	free(fnamesave);
+ 	return (TRUE);
+ }
+ 



Reply to: