Hi all, Alexander Egorenkov <egorenar-...@posteo.net> writes:
> Hi all, > > i'm facing an issue with libelf when i try to add a new section to an > ELF file. > > How to reproduce the issue: > 1. Create a simple ELF file with libelf containing only 2 sections, NULL and > a string table > 2. Close ELF file > 3. Reopen the new ELF file in RW mode with libelf > 4. Add new section with elf_newscn() > 5. Update ELF with elf_update() > 6. Assertion appears > > The weird thing is that if i add only a new program segment then > everything goes well. But as soon as i add a new section, it fails. > > Error message: > > test: elf32_updatenull.c:214: __elf64_updatenull_wrlock: Assertion `shdr > != NULL' failed. > > Any hint what i'm doing wrong ? > One workaround i found is this: scn = elf_getscn(elf, 0); shdr = elf64_getshdr(scn); It seems that __elf64_updatenull_wrlock() tries to access the section header of the NULL section. Regards Alex