(read_makefile): Free FILENAME if we allocated it. From Jim Meyering.
authorRoland McGrath <roland@redhat.com>
Mon, 25 Jul 1994 22:07:41 +0000 (22:07 +0000)
committerRoland McGrath <roland@redhat.com>
Mon, 25 Jul 1994 22:07:41 +0000 (22:07 +0000)
read.c

diff --git a/read.c b/read.c
index 6b7d122..6787d14 100644 (file)
--- 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;