diff options
author | hpa <hpa> | 2002-10-22 18:28:26 +0000 |
---|---|---|
committer | hpa <hpa> | 2002-10-22 18:28:26 +0000 |
commit | 6f5159e474dd731591e536f15776c94ce4754f73 (patch) | |
tree | b20b7e1012d19b843a37507fccaa57dabef9f60f /pxelinux.asm | |
parent | 07786ed98ed2dce5a8259665bce598fa3c84c0ad (diff) | |
download | syslinux-6f5159e474dd731591e536f15776c94ce4754f73.tar.gz |
Fix PXELINUX memory overwrite bug.syslinux-2.00-pre9
Diffstat (limited to 'pxelinux.asm')
-rw-r--r-- | pxelinux.asm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pxelinux.asm b/pxelinux.asm index 53b46b84..e4572b88 100644 --- a/pxelinux.asm +++ b/pxelinux.asm @@ -306,7 +306,11 @@ _start1: mov al,NULLFILE mov di,FKeyName mov cx,10*(1 << FILENAME_MAX_LG2) + push es ; Save ES -> PXE structure + push ds ; ES <- DS + pop es rep stosb + pop es ; Restore ES ; ; Tell the user we got this far @@ -504,7 +508,11 @@ have_entrypoint: mov di,Sockets mov cx,(MAX_SOCKETS*tftp_port_t_size)/4 xor eax,eax + push es ; Save ES -> PXE structure + push ds ; ES <- DS + pop es rep stosd + pop es ; ; Now attempt to get the BOOTP/DHCP packet that brought us life (and an IP |