Mercurial > vim
comparison src/misc2.c @ 9373:b88c573d8aa4 v7.4.1968
commit https://github.com/vim/vim/commit/1d90a5a5af84250e226f8a9121e771f7b72aa894
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 1 11:59:47 2016 +0200
patch 7.4.1968
Problem: Invalid memory access with "\<C-">.
Solution: Do not recognize this as a special character. (Dominique Pelle)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 01 Jul 2016 12:00:05 +0200 |
parents | 25c562442f8c |
children | f094d4085014 |
comparison
equal
deleted
inserted
replaced
9372:b46e82041b5f | 9373:b88c573d8aa4 |
---|---|
2739 if (has_mbyte) | 2739 if (has_mbyte) |
2740 l = mb_ptr2len(bp + 1); | 2740 l = mb_ptr2len(bp + 1); |
2741 else | 2741 else |
2742 #endif | 2742 #endif |
2743 l = 1; | 2743 l = 1; |
2744 if (bp[l + 1] == '>') | 2744 /* Anything accepted, like <C-?>, except <C-">, because the " |
2745 bp += l; /* anything accepted, like <C-?> */ | 2745 * ends the string. */ |
2746 if (bp[l] != '"' && bp[l + 1] == '>') | |
2747 bp += l; | |
2746 } | 2748 } |
2747 } | 2749 } |
2748 if (bp[0] == 't' && bp[1] == '_' && bp[2] && bp[3]) | 2750 if (bp[0] == 't' && bp[1] == '_' && bp[2] && bp[3]) |
2749 bp += 3; /* skip t_xx, xx may be '-' or '>' */ | 2751 bp += 3; /* skip t_xx, xx may be '-' or '>' */ |
2750 else if (STRNICMP(bp, "char-", 5) == 0) | 2752 else if (STRNICMP(bp, "char-", 5) == 0) |