This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: [PATCH] libelf: Allow updating phdrs for any e_type.
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Mon, 11 Jul 2016 09:57:46 +0200
- Subject: Re: [PATCH] libelf: Allow updating phdrs for any e_type.
On Wed, 2016-07-06 at 15:46 +0200, Mark Wielaard wrote:
> elf[32|64]_updatenull would sanity check the e_type before allowing to
> update the phdrs. This prevents creating an ET_REL file with phdrs. It
> also prevents creating any vendor specific ELF file having phdrs. We
> only check this when updating/writing out the file. But we would just
> in such file. Don't prevent people from creating unexpected ELF files.
> elflint will warn for such files.
>
> While writing a new testcase for this another bug was found that
> prevented updating a just created phdr because elf_getphdrnum would
> sanity check the phdr offset in the file (which doesn't exist yet).
> Fix that by only doing such a sanity check if the phdrs haven't been
> read in or created yet.
>
> This second bug should have been found by the existing elfshphehdr
> test, but that test contained a typo checking elf_getphdrnum.
> It tested that the called failed when there were no phdrs, but then
> elf_getphdrnum should simply succeed and return zero.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1352232
I pushed this to master.