]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcov: return failure if malloc fails
authorTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Thu, 26 Mar 2026 18:02:16 +0000 (19:02 +0100)
committerTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Wed, 15 Apr 2026 04:45:35 +0000 (06:45 +0200)
Don't assume that malloc always returns a non-null pointer.

xmalloc is sometimes an alias for malloc due to this in libgcc/libgcov.h:

  /* work around the poisoned malloc/calloc in system.h.  */
  #ifndef xmalloc
  #define xmalloc malloc
  #endif

libgcc/ChangeLog:

* libgcov-driver-system.c (gcov_exit_open_gcda_file): Handle
potential NULL value from malloc.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
libgcc/libgcov-driver-system.c

index 7b20b29bebf08d6d923feed4c1e11b07e0678960..0991bb57db6dbb99536543eccdcf32f4f0c3cbd2 100644 (file)
@@ -301,6 +301,11 @@ gcov_exit_open_gcda_file (struct gcov_info *gi_ptr,
 
   size_t prefix_length = gf->prefix ? strlen (gf->prefix) : 0;
   gf->filename = (char *) xmalloc (prefix_length + strlen (fname) + 2);
+  if (!gf->filename)
+    {
+      fprintf (stderr, "profiling:Failed to allocate memory for filename");
+      return -1;
+    }
   *gf->filename = '\0';
   if (prefix_length)
     strcat (gf->filename, gf->prefix);