From 90dffad2cce31e3f83ecac11ebe4b7b5bfd857ca Mon Sep 17 00:00:00 2001
From: Roland McGrath <roland@redhat.com>
Date: Mon, 25 Jul 1994 22:07:41 +0000
Subject: [PATCH] (read_makefile): Free FILENAME if we allocated it.  From Jim
 Meyering.

---
 read.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/read.c b/read.c
index 6b7d1221..6787d14b 100644
--- a/read.c
+++ b/read.c
@@ -240,6 +240,7 @@ read_makefile (filename, flags)
   char *p2;
   int ignoring = 0, in_ignored_define = 0;
   int no_targets = 0;		/* Set when reading a rule without targets.  */
+  char *passed_filename = filename;
 
   struct nameseq *filenames = 0;
   struct dep *deps;
@@ -288,7 +289,6 @@ read_makefile (filename, flags)
   if (!(flags & RM_NO_TILDE) && filename[0] == '~')
     {
       char *expanded = tilde_expand (filename);
-      /* This is a possible memory leak, but I don't care.  */
       if (expanded != 0)
 	filename = expanded;
     }
@@ -330,6 +330,8 @@ read_makefile (filename, flags)
       if (flags & RM_DONTCARE)
 	deps->file->dontcare = 1;
     }
+  if (filename != passed_filename)
+    free (filename);
   filename = deps->file->name;
   deps->changed = flags;
   deps = 0;