]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
files.c (read_file_guts, [...]): Free memory before returning.
authorTobias Burnus <burnus@net-b.de>
Mon, 15 Oct 2012 20:08:57 +0000 (22:08 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 15 Oct 2012 20:08:57 +0000 (22:08 +0200)
2012-10-15  Tobias Burnus  <burnus@net-b.de>

        * files.c (read_file_guts, _cpp_save_file_entries): Free memory
        before returning.
        * lex.c (warn_about_normalization): Ditto.
        * mkdeps.c (deps_save): Ditto.
        * pch.c (cpp_valid_state): Ditto.

From-SVN: r192474

libcpp/ChangeLog
libcpp/files.c
libcpp/lex.c
libcpp/mkdeps.c
libcpp/pch.c

index 957b216d4a0e806622f33281fcad0b04733231ff..fdc151c9aa68558b906f15b466001b3ef61a4e94 100644 (file)
@@ -1,3 +1,11 @@
+2012-10-15  Tobias Burnus  <burnus@net-b.de>
+
+       * files.c (read_file_guts, _cpp_save_file_entries): Free memory
+       before returning.
+       * lex.c (warn_about_normalization): Ditto.
+       * mkdeps.c (deps_save): Ditto.
+       * pch.c (cpp_valid_state): Ditto.
+
 2012-10-04  Florian Weimer  <fweimer@redhat.com>
 
        * directives.c (do_pragma_warning_or_error): New.
index 5b3a37b0279300466924a2745b9a83d37a4679b0..6fc24e2af44908f561954c492a58b6a6625b956b 100644 (file)
@@ -671,6 +671,7 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
   if (count < 0)
     {
       cpp_errno (pfile, CPP_DL_ERROR, file->path);
+      free (buf);
       return false;
     }
 
@@ -1759,6 +1760,7 @@ _cpp_save_file_entries (cpp_reader *pfile, FILE *fp)
          if (!open_file (f))
            {
              open_file_failed (pfile, f, 0);
+             free (result);
              return false;
            }
          ff = fdopen (f->fd, "rb");
index ab904db58bedb3c53815203573f32509ec33987a..23809bc4b0aafea79d5ccf645d0fe23da66198df 100644 (file)
@@ -1094,6 +1094,7 @@ warn_about_normalization (cpp_reader *pfile,
       else
        cpp_warning_with_line (pfile, CPP_W_NORMALIZE, token->src_loc, 0,
                               "`%.*s' is not in NFC", (int) sz, buf);
+      free (buf);
     }
 }
 
index af11ac3a6e324d635b8abbacdc9015f07cb37c37..b57681392a69433c9e2305396235c7410584c2bb 100644 (file)
@@ -399,25 +399,33 @@ deps_restore (struct deps *deps, FILE *fd, const char *self)
   unsigned int i, count;
   size_t num_to_read;
   size_t buf_size = 512;
-  char *buf = XNEWVEC (char, buf_size);
+  char *buf;
 
   /* Number of dependences.  */
   if (fread (&count, 1, sizeof (count), fd) != sizeof (count))
     return -1;
 
+  buf = XNEWVEC (char, buf_size);
+
   /* The length of each dependence string, followed by the string.  */
   for (i = 0; i < count; i++)
     {
       /* Read in # bytes in string.  */
       if (fread (&num_to_read, 1, sizeof (size_t), fd) != sizeof (size_t))
-       return -1;
+       {
+         free (buf);
+         return -1;
+       }
       if (buf_size < num_to_read + 1)
        {
          buf_size = num_to_read + 1 + 127;
          buf = XRESIZEVEC (char, buf, buf_size);
        }
       if (fread (buf, 1, num_to_read, fd) != num_to_read)
-       return -1;
+       {
+         free (buf);
+         return -1;
+       }
       buf[num_to_read] = '\0';
 
       /* Generate makefile dependencies from .pch if -nopch-deps.  */
index d278f14370e74a50d0e0d034f686731da0db3eaf..001bf3faeef08c69ae470874c2e433b46b4d8f76 100644 (file)
@@ -710,7 +710,6 @@ cpp_valid_state (cpp_reader *r, const char *name, int fd)
 
  error:
   cpp_errno (r, CPP_DL_ERROR, "while reading precompiled header");
-  return -1;
 
  fail:
   free (namebuf);