dos/exe: fixed a bug in relocation handling

This commit is contained in:
László Molnár 2007-03-01 16:57:12 +01:00
parent ffe4a4b047
commit b4c4b1fb70
2 changed files with 2 additions and 1 deletions

1
NEWS
View File

@ -10,6 +10,7 @@ Changes in 2.93 beta (XX XXX 2007):
because runtime decompression is about 30 times slower than NRV -
which is really noticable on old machines.
* win32/pe & arm/pe: better icon compression handling
* dos/exe: fixed a rarely occuring bug in relocation handling
Changes in 2.92 beta (23 Jan 2007):
* new option '--ultra-brute' which tries even more variants

View File

@ -388,7 +388,7 @@ unsigned optimize_relocs(upx_byte *b, const unsigned size,
break;
}
unsigned offs = addr - es*16;
if (offs >= 3 && b[es*16 + offs-3] == 0x9a)
if (offs >= 3 && b[es*16 + offs-3] == 0x9a && offs > di + 3)
{
for (t = di; t < offs-3; t++)
if (b[es*16+t] == 0x9a && get_le16(b+es*16+t+3) <= seg_high)