From: nbd Date: Fri, 12 Mar 2010 00:35:36 +0000 (+0000) Subject: sstrip: fix a section length corruption bug (patch from #6847) X-Git-Url: http://git.ozo.com/?p=openwrt-10.03%2F.git;a=commitdiff_plain;h=5ad9c27d392ec26d1b4cd2dd6f23fa4d99d425fd sstrip: fix a section length corruption bug (patch from #6847) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20154 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/tools/sstrip/src/sstrip.c b/tools/sstrip/src/sstrip.c index 6607d1250..0508aaac8 100644 --- a/tools/sstrip/src/sstrip.c +++ b/tools/sstrip/src/sstrip.c @@ -251,8 +251,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)); \ } \ } \ \