readelf/objdump remember_state memory leaks

Message ID ZILCNa0O8HoJZZAo@squeak.grove.modra.org
State Accepted
Headers
Series readelf/objdump remember_state memory leaks |

Checks

Context Check Description
snail/binutils-gdb-check success Github commit url

Commit Message

Alan Modra June 9, 2023, 6:09 a.m. UTC
  * dwarf.c (display_debug_frames <DW_CFA_restore_state>): Do free
	invalid remember_state.
  

Patch

diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 8a20bf2a349..4f695bf2bca 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -9823,12 +9823,14 @@  display_debug_frames (struct dwarf_section *section,
 		    {
 		      warn (_("Invalid column number in saved frame state\n"));
 		      fc->ncols = 0;
-		      break;
 		    }
-		  memcpy (fc->col_type, rs->col_type,
-			  rs->ncols * sizeof (*rs->col_type));
-		  memcpy (fc->col_offset, rs->col_offset,
-			  rs->ncols * sizeof (*rs->col_offset));
+		  else
+		    {
+		      memcpy (fc->col_type, rs->col_type,
+			      rs->ncols * sizeof (*rs->col_type));
+		      memcpy (fc->col_offset, rs->col_offset,
+			      rs->ncols * sizeof (*rs->col_offset));
+		    }
 		  free (rs->col_type);
 		  free (rs->col_offset);
 		  free (rs);