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.
