PR29807, SIGSEGV when linking fuzzed PE object

Alan Modra amodra@gmail.com
Mon Nov 21 21:48:31 GMT 2022


	PR 29807
	* cofflink.c (_bfd_coff_generic_relocate_section): Skip relocs
	against symbols with a NULL section.

diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index a5b936fd7c1..cd117a445c6 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -2961,8 +2961,10 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
 	      sec = sections[symndx];
 
 	      /* PR 19623: Relocations against symbols in
-		 the absolute sections should ignored.  */
-	      if (bfd_is_abs_section (sec))
+		 the absolute sections should ignored.
+		 PR 29807: Also ignore relocs against file symbols or
+		 other such nonsense in fuzzed objects.  */
+	      if (sec == NULL || bfd_is_abs_section (sec))
 		continue;
 
 	      val = (sec->output_section->vma

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list