terminal-unix: reject overlong termcap strings

Our own tables have size for only 8 chars, so these sequences must be
rejected. It seems strings of length 8 are still ok, because the code
uses memcmp and not strcmp, so still allow these.

Based on mplayer-svn commit r37129.
This commit is contained in:
wm4 2014-04-10 00:15:11 +02:00
parent d06ff691ed
commit 4a07120f83
1 changed files with 3 additions and 0 deletions

View File

@ -86,6 +86,9 @@ static char *term_smkx = NULL;
#endif
static keycode_st *keys_push(char *p, int code) {
if (strlen(p) > 8)
return NULL;
if (getch2_keys.len == getch2_keys.cap) {
getch2_keys.cap *= 2;
if (getch2_keys.cap == 0)