summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--isolinux.asm5
2 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 3ad9d706..ad586425 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,8 @@ them.
Changes in 2.06:
* ALL: Fix problem that would occationally cause a
boot failure, depending on the length of the kernel.
+ * ISOLINUX: Fix problem that would occationally cause a
+ boot failure, depending on the length of directories.
Changes in 2.05:
* PXELINUX: Add a default query based on the hardware address
diff --git a/isolinux.asm b/isolinux.asm
index 111e2796..4c24bd2c 100644
--- a/isolinux.asm
+++ b/isolinux.asm
@@ -33,7 +33,7 @@ my_id equ isolinux_id
FILENAME_MAX_LG2 equ 8 ; log2(Max filename size Including final null)
FILENAME_MAX equ (1 << FILENAME_MAX_LG2)
NULLFILE equ 0 ; Zero byte == null file name
-retry_count equ 6 ; How patient are we wirh the BIOS?
+retry_count equ 6 ; How patient are we with the BIOS?
%assign HIGHMEM_SLOP 128*1024 ; Avoid this much memory near the top
MAX_OPEN_LG2 equ 6 ; log2(Max number of open files)
MAX_OPEN equ (1 << MAX_OPEN_LG2)
@@ -1144,12 +1144,12 @@ searchdir_iso:
.getsome:
; Get a chunk of the directory
+ ; This relies on the fact that ISOLINUX doesn't change SI
mov si,trackbuf
TRACER 'g'
pushad
xchg bx,si
mov cx,[BufSafe]
- dec cx ; ... minus one sector
call getfssec
popad
@@ -1250,6 +1250,7 @@ allocate_file:
;
; Note: clobbers AX, CX, SI, DI; assumes DS == ES == base segment
;
+
iso_compare_names:
; First, terminate and canonicalize input filename
push di