[PATCH] libelf/elf_end.c: check data_list.data.d.d_buf before free it

Mark Wielaard mark@klomp.org
Thu Aug 16 19:26:00 GMT 2018


Hi,

On Thu, Aug 16, 2018 at 10:34:23AM +0800, Robert Yang wrote:
> The one which actually saves the data is data_list.data.d.d_buf, so check it
> before free rawdata_base.
> 
> This can fix a segmentation fault when prelink libqb_1.0.3:
> prelink: /usr/lib/libqb.so.0.18.2: Symbol section index outside of section numbers
> 
> The segmentation fault happens when prelink call elf_end().

Could you run your reproducer under valgrind and show what it
says before your patch? And/Or post the file (libqb) to replicate
the reproducer somewhere to see exactly what goes wrong?

I don't fully understand what is going wrong. Is the section data
pointing to the file data or something created by elf_newdata?

Thanks,

Mark



More information about the Elfutils-devel mailing list