swt2c / rpms / syslinux

Forked from rpms/syslinux 5 years ago
Clone
Blob Blame History Raw
From: H. Peter Anvin <hpa@zytor.com>
Date: Mon, 19 Feb 2007 23:54:58 +0000 (-0800)
Subject: Comboot function READ DISK corrupts its arguments; fix.
X-Git-Tag: syslinux-3.40-pre10^0~13^2
X-Git-Url: http://www.jur-linux.org/git/?p=syslinux.git;a=commitdiff_plain;h=c7c51cdcd0a094c2588f8a816542bc57bb4efb34

Comboot function READ DISK corrupts its arguments; fix.
---

diff --git a/comboot.doc b/comboot.doc
index 8aaa0e7..0d70b48 100644
--- a/comboot.doc
+++ b/comboot.doc
@@ -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
diff --git a/comboot.inc b/comboot.inc
index 0f544c2..5df900f 100644
--- a/comboot.inc
+++ b/comboot.inc
@@ -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