From f0e08c01ff325ab8b7140884bc1364f548c060fc Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 10 Apr 2014 00:15:11 +0200 Subject: 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. --- osdep/terminal-unix.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'osdep') diff --git a/osdep/terminal-unix.c b/osdep/terminal-unix.c index 19e2caf7b2..9b1e3d21fe 100644 --- a/osdep/terminal-unix.c +++ b/osdep/terminal-unix.c @@ -87,6 +87,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) -- cgit v1.2.3