diff options
-rw-r--r-- | lib/libelf/elf_update.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libelf/elf_update.c b/lib/libelf/elf_update.c index 3c7cb0a..fc5f9a3 100644 --- a/lib/libelf/elf_update.c +++ b/lib/libelf/elf_update.c @@ -422,8 +422,8 @@ _libelf_resync_elf(Elf *e) (E)->e_ident[EI_VERSION] = (V); \ (E)->e_ehsize = _libelf_fsize(ELF_T_EHDR, (EC), (V), \ (size_t) 1); \ - (E)->e_phentsize = _libelf_fsize(ELF_T_PHDR, (EC), (V), \ - (size_t) 1); \ + (E)->e_phentsize = (phnum == 0) ? 0 : _libelf_fsize( \ + ELF_T_PHDR, (EC), (V), (size_t) 1); \ (E)->e_shentsize = _libelf_fsize(ELF_T_SHDR, (EC), (V), \ (size_t) 1); \ } while (0) |