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 -1
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)