asan: null deref in coff_write_relocs

Alan Modra amodra@gmail.com
Thu Jun 2 07:39:09 GMT 2022


	* coffcode.h (coff_write_relocs): Don't deref NULL howto.

diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 36e07025c6a..6de6ecdea39 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -2690,9 +2690,11 @@ coff_write_relocs (bfd * abfd, int first_undef)
 
 #ifdef SELECT_RELOC
 	  /* Work out reloc type from what is required.  */
-	  SELECT_RELOC (n, q->howto);
+	  if (q->howto)
+	    SELECT_RELOC (n, q->howto);
 #else
-	  n.r_type = q->howto->type;
+	  if (q->howto)
+	    n.r_type = q->howto->type;
 #endif
 	  coff_swap_reloc_out (abfd, &n, &dst);
 

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list