[comp.binaries.ibm.pc.d] Patch to fix a bug in LOOZ 2.10

maa@nbires.nbi.com (Mark Armbrust) (03/25/89)

There is a bug in LOOZ 2.10 that causes it to incorrectly load some .EXE files
when the 'xx' option is used.  The problem occurs when an .EXE file's segment
ordering is such that the initial code segment is not the first segment in the
.EXE file.

This is a binary patch to fix the bug in LOOZ 2.10.  THIS PATCH IS NOT KNOWN
TO BE VALID FOR ANY OTHER VERSION OF LOOZ!


---------- cut here to LOOZPAT.BAT ----------
goto end
e 1C4C 14
e 22E2 61 20 20 28
w
q
:end
ren looz.exe looz.bin
debug <loozpat.bat looz.bin
ren looz.bin looz.exe
---------- cut here ----------

What you changed:

    1944 C45EE8         LES    BX,[BP-18] 
    1947 268B07         MOV    AX,ES:[BX] 
    194A 0346EE  (14)   ADD    AX,[BP-12]        ; change to ADD    AX,[BP+14]
    194D 268907         MOV    ES:[BX],AX 
    1950 47             INC    DI 
    1951 3B7EEC         CMP    DI,[BP-14] 
    1954 72C6           JB     191C 

Local variable [BP-12] was set to *(parameter [BP+0E]) which appears to be
the initial value of CS.  Relocations should be done relative to the load
point which appears to be passed as a parameter [BP+14].

Local variable [BP-12] is not used anywhere else in this subroutine.

The second line of the patch changes the version number to '2.10a'.

PLEASE DO NOT DISTRIBUTE PATCHED VERSIONS OF LOOZ.  Please do distribute
LOOZ unmodified along with this patch information.


Happy hacking,
Mark Armbrust

maa@nbires.nbi.com
maa@nbires.UUCP