aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-06-09 10:19:25 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-06-09 10:19:25 -0700
commit38e1c74db64e02152e525c2d5c135cb5793d847e (patch)
treefb29cd98f688064675882a35040414bfaf865afc
parent1869311343efb546ea0a5a47cda7572d863a029a (diff)
downloadsyslinux-elf-38e1c74db64e02152e525c2d5c135cb5793d847e.tar.gz
syslinux-elf-38e1c74db64e02152e525c2d5c135cb5793d847e.tar.xz
syslinux-elf-38e1c74db64e02152e525c2d5c135cb5793d847e.zip
pxelinux: actually stop parsing on a null option
Stop the OACK parsing on a null option, even if it isn't the very first option. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--core/pxelinux.asm3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/pxelinux.asm b/core/pxelinux.asm
index 0e65e073..58201a0b 100644
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -1105,6 +1105,8 @@ searchdir:
; SI -> first byte of options; [E]CX -> byte count
.parse_oack:
jcxz .done_pkt ; No options acked
+
+.get_opt_name:
; If we find an option which starts with a NUL byte,
; (a null option), we're either seeing garbage that some
; TFTP servers add to the end of the packet, or we have
@@ -1114,7 +1116,6 @@ searchdir:
cmp byte [si],0
je .done_pkt
-.get_opt_name:
mov di,si
mov bx,si
.opt_name_loop: lodsb