PR27860, Segmentation fault on readelf -w

Alan Modra amodra@gmail.com
Thu May 13 13:22:04 GMT 2021


Well it didn't take long for the SAFE_BYTE_GET assert to trigger.

	PR 27860
	* dwarf.c (display_debug_frames): Sanity check cie_off before
	attempting to read cie.

diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 56983e1c799..20bd92657b3 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -8708,6 +8708,8 @@ display_debug_frames (struct dwarf_section *section,
 		if (cie->chunk_start == look_for)
 		  break;
 	    }
+	  else if (cie_off >= section->size)
+	    cie = NULL;
 	  else
 	    {
 	      for (cie = forward_refs; cie ; cie = cie->next)

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list