]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas obj-elf.c memory leaks
authorAlan Modra <amodra@gmail.com>
Wed, 1 Jan 2025 12:20:17 +0000 (22:50 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 1 Jan 2025 12:20:17 +0000 (22:50 +1030)
* config/obj-elf.c (obj_elf_section): Use notes_memdup for
linked_to_symbol_name.
(obj_elf_find_and_add_versioned_name): Use notes_alloc for
versioned_name.

gas/config/obj-elf.c

index e4443e25040aa8ed22e29aa4ba66047da5876418..c4af01808b6a8206ab8ed35f70758f7690233eba 100644 (file)
@@ -1370,7 +1370,8 @@ obj_elf_section (int push)
                  (void) restore_line_pointer (c);
                  length = input_line_pointer - beg;
                  if (length)
-                   match.linked_to_symbol_name = xmemdup0 (beg, length);
+                   match.linked_to_symbol_name
+                     = notes_memdup (beg, length, length + 1);
                }
            }
          else if ((attr & SHF_LINK_ORDER) != 0 && inherit
@@ -1811,9 +1812,8 @@ obj_elf_find_and_add_versioned_name (const char *version_name,
       return versioned_name;
 
   /* Add this versioned name to the head of the list,  */
-  versioned_name = (struct elf_versioned_name_list *)
-    xmalloc (sizeof (*versioned_name));
-  versioned_name->name = xstrdup (version_name);
+  versioned_name = notes_alloc (sizeof (*versioned_name));
+  versioned_name->name = notes_strdup (version_name);
   versioned_name->next = sy_obj->versioned_name;
   sy_obj->versioned_name = versioned_name;