fix sym_val() buffer overrun
Fix 'Bug 3' where too long SYMBOL=string in run-time config file could overflow a local buffer and clobber the stack. Valid value is only one character long after processing an 'escaped' encoded character which can be at most 6 characters (plus terminator): backslash M backslash and up three digits. If/when UTF8 gets added the number of digits will increase. Use a truncated copy of the input (substantially bigger than 6+1); ignore any excess.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.2 $ $NHDT-Date: 1578972411 2020/01/14 03:26:51 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.3 $ $NHDT-Date: 1578996303 2020/01/14 10:05:03 $
|
||||
|
||||
fixes36.5 contains a terse summary of changes made to 3.6.4 in order to
|
||||
produce 3.6.5 as well as any post-release fixes in binaries.
|
||||
@@ -9,6 +9,7 @@ General Fixes and Modified Features
|
||||
have string_for_opt() return empty_optstr on failure
|
||||
ensure existing callers of string_for_opt() check return value before using it
|
||||
fix potential buffer overflow in add_menu_coloring()
|
||||
fix potential buffer overflow in sym_val()
|
||||
|
||||
|
||||
Fixes to Post-3.6.4 Problems that Were Exposed Via git Repository
|
||||
|
||||
Reference in New Issue
Block a user