summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-15 16:24:34 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-05-15 16:26:33 -0700
commite7ffeff65d02ea5e7ebd03adfc70376bc8789aa5 (patch)
tree43da5b5b878d72bcfb563af510b41d0479714c44
parent401edbe977d7993e69f683529b480a73ec8e3e56 (diff)
downloadsyslinux-e7ffeff65d02ea5e7ebd03adfc70376bc8789aa5.tar.gz
Fix clobber of the command line when using F-keys+LSS graphics
Fix a half-entered command line when getting clobbered when pressing an F key that in turn invokes an LSS graphic. This was used by duplexing the command line buffer as LSS decompression space. Allocate a separate buffer, but move the legacy graphic variables to .bss2 to avoid overflow. Reported-by: Михаил <from.miha@gmail.com> Debugged-by: Sebastian Herbszt <herbszt@gmx.de> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--core/graphics.inc7
1 files changed, 3 insertions, 4 deletions
diff --git a/core/graphics.inc b/core/graphics.inc
index 2b8290fc..3ba51465 100644
--- a/core/graphics.inc
+++ b/core/graphics.inc
@@ -308,7 +308,7 @@ linear_color db 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0
; of this byte.
UsingVGA db 0
- section .bss1
+ section .bss2
alignb 4
LSSHeader equ $
LSSMagic resd 1 ; Magic number
@@ -326,6 +326,5 @@ VGAFileBuf resb FILENAME_MAX ; Unmangled VGA image name
VGAFileBufEnd equ $
VGAFileMBuf resb FILENAME_MAX ; Mangled VGA image name
-; We need a buffer of 640+80 bytes. At this point, command_line should
-; not be in use, so use that buffer.
-VGARowBuffer equ command_line
+ alignb 4
+VGARowBuffer resb 640+80 ; Decompression buffer