diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-03-12 00:35:36 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-03-12 00:35:36 +0000 |
commit | b321fe82d325064f971a6dcda21696a4d82ba396 (patch) | |
tree | 68e8a2bb546ffb3d00881c28cef66d502be31998 /tools/sstrip/src/sstrip.c | |
parent | a27a5a197319ff6d9282029a20e4ed130947683c (diff) | |
download | upstream-b321fe82d325064f971a6dcda21696a4d82ba396.tar.gz upstream-b321fe82d325064f971a6dcda21696a4d82ba396.tar.bz2 upstream-b321fe82d325064f971a6dcda21696a4d82ba396.zip |
sstrip: fix a section length corruption bug (patch from #6847)
SVN-Revision: 20154
Diffstat (limited to 'tools/sstrip/src/sstrip.c')
-rw-r--r-- | tools/sstrip/src/sstrip.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/tools/sstrip/src/sstrip.c b/tools/sstrip/src/sstrip.c index 6607d12500..0508aaac81 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)); \ } \ } \ \ |