Comboot function READ DISK corrupts its arguments; fix.
authorH. Peter Anvin <hpa@zytor.com>
Mon, 19 Feb 2007 23:54:58 +0000 (15:54 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 19 Feb 2007 23:54:58 +0000 (15:54 -0800)
comboot.doc
comboot.inc

index 8aaa0e7..0d70b48 100644 (file)
@@ -723,7 +723,7 @@ AX=0018h [3.30]     Query custom font
        been loaded, AL contains zero.
 
 
-AX=0019h [3.35] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
+AX=0019h [3.xx] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
        Input:  AX      0019h
                EDX     Sector number
                ESI     Reserved - MUST BE ZERO
index 0f544c2..5df900f 100644 (file)
@@ -780,9 +780,9 @@ comapi_readdisk:
                or esi,P_EDI            ; are reserved for future expansion
                jnz .err
                mov eax,P_EDX
-               mov bp,P_CX
                mov es,P_ES
                mov bx,P_BX
+               mov bp,P_CX             ; WE CANNOT use P_* after touching bp!
                call getlinsec
                clc
                ret