diff options
Diffstat (limited to 'libelf/elf32_updatefile.c')
-rw-r--r-- | libelf/elf32_updatefile.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libelf/elf32_updatefile.c b/libelf/elf32_updatefile.c index 59973503..7561a685 100644 --- a/libelf/elf32_updatefile.c +++ b/libelf/elf32_updatefile.c @@ -231,7 +231,8 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf, int change_bo, size_t shnum) assert ((char *) elf->map_address + elf->start_offset < (char *) scn->shdr.ELFW(e,LIBELFBITS)); assert ((char *) scn->shdr.ELFW(e,LIBELFBITS) - < (char *) elf->map_address + elf->maximum_size); + < ((char *) elf->map_address + elf->start_offset + + elf->maximum_size)); void *p = alloca (sizeof (ElfW2(LIBELFBITS,Shdr))); scn->shdr.ELFW(e,LIBELFBITS) |