7 Commits

Author SHA1 Message Date
Arun Kuruvila
eb79ead4f0 Bug#20318154 : NEGATIVE ARRAY INDEX WRITE V2
Description:- There is a possibility of negative array index
write associated with the function "terminal_writec()". This
is due to the assumption that there is a possibility of
getting -1 return value from the function call
"ct_visual_char()".

Analysis:- The function "terminal_writec()" is called only
from "em_delete_or_list()" and "vi_list_or_eof()" and both
these functions deal with the "^D" (ctrl+D) signal. So the
"size_t len" and "Char c" passed to "ct_visual_char()" (when
called from "terminal_writec()") is always 8 (macro
VISUAL_WIDTH_MAX is passed whose value is 8) and 4 (ASCII
value for "^D"/"ctrl+D") respectively.
Since the value of "c" is 4, "ct_chr_class()" returns -1
(macro CHTYPE_ASCIICTL is associated with -1 value). And
since value of "len" is 8, "ct_visual_char()" will always
return 2 when it is called from "terminal_writec()".
So there is no possible case so that we encounter a negative
array index write in "terminal_writec()". But since there is
a rare posibility of using "terminal_writec()" in future
enhancements, it is good handle the error case as well.

Fix:- A condition is added in "terminal_writec()" to check
whether "ct_visual_char()" is returning -1 or not. If the
return value is -1, then value 0 is returned to its calling
function "em_delete_or_list()" or "vi_list_or_eof()", which
in turn will return CC_ERROR.

NOTE:- No testcase is added since currently there is no
possible scenario to encounter this error case.
2015-04-24 11:30:13 +05:30
Nirbhay Choubey
05a38e7bf3 WL#5945 : Improve libedit library
Updated libedit library.
2011-10-14 01:03:25 +05:30
Georgi Kodinov
773b18e69a From jperkin : Merge libedit 2.11 and related files,
based on NetBSD CVS as of 2009/02/06 20:09:00.
2009-02-10 14:39:14 +02:00
msvensson@neptunus.(none)
3aecb8acce Upgrade to libedit-2.9 2005-04-21 12:06:46 +02:00
vva@eagle.mysql.r18.ru
3e6d1022d6 upgrade to libedit-2.6.7
(fixed Bug #4462 libedit compile failure)
2004-08-24 20:41:41 +05:00
monty@mashka.mysql.fi
0d28405424 Removed compiler warnings 2003-01-19 02:24:02 +02:00
vva@eagle.mysql.r18.ru
69b722d7d9 changes for readline/libedit configuration 2003-01-18 20:28:48 +04:00