From 45b36294d60e3c72c32f8003b82ee852672f1948 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 22 Feb 2023 09:04:57 +1030 Subject: Re: objdump read_section_stabs Commit f9c36cc99518 changed (and renamed) read_section_stabs with one difference in overall behaviour. Previously read_section_stabs would return a NULL for an empty section, which was then treated the same as a missing section. Now an empty section is recognized and dumped. This leads to NULL stabp and stabs_end in print_section_stabs. Since stabs_end - STABSIZE is then a pointer to a very large address, the test "stabp < stabs_end - STABSIZE" succeeds. * objdump.c (print_section_stabs): Correct STABSIZE comparison. --- binutils/objdump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'binutils') diff --git a/binutils/objdump.c b/binutils/objdump.c index 984c721..40ed688 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -4508,7 +4508,7 @@ print_section_stabs (bfd *abfd, We start the index at -1 because there is a dummy symbol on the front of stabs-in-{coff,elf} sections that supplies sizes. */ - for (i = -1; stabp <= stabs_end - STABSIZE; stabp += STABSIZE, i++) + for (i = -1; (size_t) (stabs_end - stabp) >= STABSIZE; stabp += STABSIZE, i++) { const char *name; unsigned long strx; -- cgit v1.1