[PATCH] readelf: Always print INVALID SECTION if destshdr is NULL for relocation
Mark Wielaard
mjw at redhat.com
Thu Dec 4 13:44:29 UTC 2014
On Sat, 2014-11-29 at 15:03 +0100, Mark Wielaard wrote:
> On Fri, Nov 28, 2014 at 10:24:46PM +0100, Mark Wielaard wrote:
> > We already checked this in all other cases except for the special case
> > of relocs in statically_linked executables. Found with afl.
>
> Sorry, this patch is bogus. It works around the actual cause.
> The destshdr should not be NULL to begin with. We actually check that
> before processing the relocations. But when we see a STT_SECTION symbol
> relocation we reuse destshdr to lookup that section. The correct fix is
> to not trash destshdr in that case. Which the attached patch does.
> [...]
> +2014-11-28 Mark Wielaard <mjw at redhat.com>
> +
> + * readelf.c (handle_relocs_rel): Don't reuse destshdr to store
> + section header of a relocation against a STT_SECTION symbol. Use
> + a new local variable secshdr.
> + (handle_relocs_rela): Likewise.
I pushed this fixed version of the fix to master now.
More information about the elfutils-devel
mailing list