public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* PR29647, objdump -S looping
@ 2022-10-05  4:23 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2022-10-05  4:23 UTC (permalink / raw)
  To: binutils

Fuzzed input with this in .debug_line
  [0x0000003b]  Special opcode 115: advance Address by 8 to 0x401180 and Line by -2 to -1

	PR 29647
	* objdump.c (print_line): Don't decrement line number here..
	(dump_lines): ..do so here instead, ensuring loop terminates.

diff --git a/binutils/objdump.c b/binutils/objdump.c
index 6610906f83e..f7b4695c3e8 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -2069,7 +2069,6 @@ print_line (struct print_file_list *p, unsigned int linenum)
   const char *l;
   size_t len;
 
-  --linenum;
   if (linenum >= p->maxline)
     return;
   l = p->linemap [linenum];
@@ -2088,7 +2087,9 @@ dump_lines (struct print_file_list *p, unsigned int start, unsigned int end)
 {
   if (p->map == NULL)
     return;
-  while (start <= end)
+  if (start != 0)
+    --start;
+  while (start < end)
     {
       print_line (p, start);
       start++;

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-05  4:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-05  4:23 PR29647, objdump -S looping Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).