Problem: Invalid memory access with "\<C-">.
Solution: Do not recognize this as a special character. (Dominique Pelle)
else
#endif
l = 1;
- if (bp[l + 1] == '>')
- bp += l; /* anything accepted, like <C-?> */
+ /* Anything accepted, like <C-?>, except <C-">, because the "
+ * ends the string. */
+ if (bp[l] != '"' && bp[l + 1] == '>')
+ bp += l;
}
}
if (bp[0] == 't' && bp[1] == '_' && bp[2] && bp[3])
func Test_set_reg_null_list()
call setreg('x', test_null_list())
endfunc
+
+func Test_special_char()
+ " The failure is only visible using valgrind.
+ call assert_fails('echo "\<C-">')
+endfunc
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1968,
/**/
1967,
/**/