This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix section corruption bug


Hi,

On Mon, 2014-06-09 at 21:05 +0200, Thilo Schulz wrote:
> When adding data to existing sections in ELF files, libelf may corrupt
> those sections, i.e. overwrite the existing data if certain conditions are
> met.
> 
> If an Elf_Scn structure has seen a call to elf_rawdata(scn) before but no
> call to elf_getdata(scn), scn->read_data flag is set, but not
> scn->data_list_rear.

Do you happen to have a small testcase that shows the buggy behavior? 

> Thus, elf_newdata(scn) incorrectly detects a "new user added section" when
> really it is a section with live, valid data that will be overwritten by
> elf_update(), corrupting the section.
>
> This patch fixes this incorrect behaviour.

I was wondering whether we want to check scn->rawdata.s directly, or if
we could rely on ELF_F_FILEDATA being set for scn->flags?

Thanks,

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]