summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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