From c0e307b848d8de23e6f10a179c4f240c023c8b82 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Tue, 13 Jul 2010 13:10:39 +0200 Subject: sstrip: fix section length corruption bug Based on openwrt #6847: https://dev.openwrt.org/ticket/6847 Signed-off-by: Peter Korsgaard --- toolchain/sstrip/sstrip.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/toolchain/sstrip/sstrip.c b/toolchain/sstrip/sstrip.c index 1842f053c..03adc0eac 100644 --- a/toolchain/sstrip/sstrip.c +++ b/toolchain/sstrip/sstrip.c @@ -253,8 +253,7 @@ static int modifyheaders ## CLASS (Elf ## CLASS ## _Ehdr *ehdr, \ ESET(phdr->p_offset,newsize); \ ESET(phdr->p_filesz,0); \ } else if (EGET(phdr->p_offset) + EGET(phdr->p_filesz) > newsize) { \ - newsize -= EGET(phdr->p_offset); \ - ESET(phdr->p_filesz, newsize); \ + ESET(phdr->p_filesz, newsize - EGET(phdr->p_offset)); \ } \ } \ \ -- cgit v1.2.3