]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
LD: Guard `new_afile' result with assertions
authorMaciej W. Rozycki <macro@redhat.com>
Fri, 20 Feb 2026 17:29:50 +0000 (17:29 +0000)
committerMaciej W. Rozycki <macro@redhat.com>
Fri, 20 Feb 2026 17:29:50 +0000 (17:29 +0000)
Calls to `new_afile' can in principle return a NULL pointer.  However
in `lookup_name' we dereference the pointer returned without validating
it first.  Since it's not supposed to be NULL there except where we have
hit an internal consistency issue just add an assertion for meaningful
output rather than just a segfault.

For consistency update `cmdline_load_object_only_section' replacing a
call to `abort' with the same assertion.

ld/ldlang.c

index 9f748f38ed62a40f3faed907c3be8ebd91dbb404..ef4715192b498ebe50b01e4651f54cb412e0502c 100644 (file)
@@ -3025,6 +3025,7 @@ lookup_name (const char *name)
       *stat_ptr->tail = rest;
       if (*tail == NULL)
        stat_ptr->tail = tail;
+      ASSERT (search != NULL);
     }
 
   /* If we have already added this file, or this file is not real
@@ -11170,8 +11171,7 @@ cmdline_load_object_only_section (const char *name)
   lang_input_statement_type *entry
     = new_afile (name, lang_input_file_is_file_enum, NULL, NULL);
 
-  if (!entry)
-    abort ();
+  ASSERT (entry != NULL);
 
   ldfile_open_file (entry);