aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhpa <hpa>2005-04-06 09:53:39 +0000
committerhpa <hpa>2005-04-06 09:53:39 +0000
commit499176f864f5c907a817c8bd253b51807846fb1a (patch)
treeadc3f7a64e4a56708bc4099debfde015c8f2f690
parentfc275332da4d84e5653ab7ed3fa97bea2ec6bea9 (diff)
downloadsyslinux-499176f864f5c907a817c8bd253b51807846fb1a.tar.gz
syslinux-499176f864f5c907a817c8bd253b51807846fb1a.tar.xz
syslinux-499176f864f5c907a817c8bd253b51807846fb1a.zip
Initialize VKernelBuf to zerosyslinux-3.08-pre8
-rw-r--r--NEWS1
-rw-r--r--parseconfig.inc7
2 files changed, 7 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9071f35f..dd969a07 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,7 @@ Changes in 3.08:
* Simple menu system: add password support.
* EXTLINUX: Sparse files now handled correctly.
* EXTLINUX: Large directories now handled correctly.
+ * Fix configuration file parsing error, that could cause hangs.
Changes in 3.07:
* Fix chainloading (chain.c32).
diff --git a/parseconfig.inc b/parseconfig.inc
index cad86b3a..77caf845 100644
--- a/parseconfig.inc
+++ b/parseconfig.inc
@@ -302,8 +302,13 @@ pc_getline: mov di,trackbuf
; Main loop for configuration file parsing
;
parse_config:
+ mov di,VKernelBuf ; Clear VKernelBuf at start
+ xor ax,ax
+ mov cx,vk_size
+ rep stosb
+.again:
call getcommand
- jnc parse_config ; If not EOF do it again
+ jnc .again ; If not EOF do it again
;
; The fall through to commit_vk to commit any final
; VKernel being read