Fix use-after-free.
authorDavid Given <dg@cowlark.com>
Thu, 17 Mar 2016 19:52:27 +0000 (20:52 +0100)
committerDavid Given <dg@cowlark.com>
Thu, 17 Mar 2016 19:52:27 +0000 (20:52 +0100)
lang/cem/cemcom.ansi/input.c

index fc1e99f..2b652b6 100644 (file)
@@ -82,10 +82,9 @@ AtEoIF()
        }
        IncludeLevel--;
 #endif
-       if (WorkingDir[0] != '\0') free(WorkingDir);
+       /* We don't free WorkingDir and FileName here because the rest of the
+        * compiler may be holding pointers to them for displaying error messages.
+        */
 #endif /* NOPP */
-#ifndef LINT
-       if (FileName != source) free(FileName);
-#endif
        return 0;
 }