[syslinux] [PATCH] ISOLINUX: set directory length correctly

Steffen Winterfeldt wfeldt at suse.de
Wed Apr 22 08:12:22 PDT 2009


Since searchdir() uses getfssec() to read the directory it needs to set
file_bytesleft. Else it loops forever if you have a large directory (and/or
rock ridge on).


Steffen

---
 core/isolinux.asm |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/core/isolinux.asm b/core/isolinux.asm
index c5545ba..62b1a9c 100644
--- a/core/isolinux.asm
+++ b/core/isolinux.asm
@@ -1400,6 +1400,8 @@ searchdir_iso:
 .not_rooted:
 		mov eax,[si+dir_clust]
 		mov [bx+file_left],eax
+		shl eax,SECTOR_SHIFT
+		mov [bx+file_bytesleft],eax
 		mov eax,[si+dir_lba]
 		mov [bx+file_sector],eax
 		mov edx,[si+dir_len]
-- 
1.6.0.2




More information about the Syslinux mailing list