gas include_dirs memory leak

Message ID Z3U2IP-Eb38WQYED@squeak.grove.modra.org
State New
Headers
Series gas include_dirs memory leak |

Commit Message

Alan Modra Jan. 1, 2025, 12:33 p.m. UTC
  This is the first of a series of patches aimed at making it possible
to configure with CFLAGS="-g -O2 -fsanitize=address,undefined" and run
the binutils and gas testsuite on x86_64-linux without using
ASAN_OPTIONS=detect_leaks=0.  ie. the patch series is aimed at fixing
common gas, ar, objcopy, objdump, and readelf leaks.

	* config/tc-tic54x.c (md_begin): Make use of notes_strdup rather
	than xstrdup to copy entries added to include_dirs.
	* read.c (read_end): Free include_dirs array.
  

Patch

diff --git a/gas/config/tc-tic54x.c b/gas/config/tc-tic54x.c
index 7de8b8cf4c8..b0d98f1ab4a 100644
--- a/gas/config/tc-tic54x.c
+++ b/gas/config/tc-tic54x.c
@@ -2990,7 +2990,7 @@  md_begin (void)
   /* Look for A_DIR and add it to the include list.  */
   if (A_DIR != NULL)
     {
-      char *tmp = xstrdup (A_DIR);
+      char *tmp = notes_strdup (A_DIR);
 
       do
 	{
diff --git a/gas/read.c b/gas/read.c
index 3d4dff821b6..94e12549d4f 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -330,6 +330,7 @@  read_end (void)
   _obstack_free (&cond_obstack, NULL);
   free (current_name);
   free (current_label);
+  free (include_dirs);
 }
 
 #ifndef TC_ADDRESS_BYTES