forked from aniani/vim
updated for version 7.3.1120
Problem: Crash when regexp logging is enabled. Solution: Avoid using NULL pointers. Advance over count argument.
This commit is contained in:
@@ -6538,10 +6538,16 @@ regdump(pattern, r)
|
||||
end = next;
|
||||
if (op == BRACE_LIMITS)
|
||||
{
|
||||
/* Two short ints */
|
||||
/* Two ints */
|
||||
fprintf(f, " minval %ld, maxval %ld", OPERAND_MIN(s), OPERAND_MAX(s));
|
||||
s += 8;
|
||||
}
|
||||
else if (op == BEHIND || op == NOBEHIND)
|
||||
{
|
||||
/* one int */
|
||||
fprintf(f, " count %ld", OPERAND_MIN(s));
|
||||
s += 4;
|
||||
}
|
||||
s += 3;
|
||||
if (op == ANYOF || op == ANYOF + ADD_NL
|
||||
|| op == ANYBUT || op == ANYBUT + ADD_NL
|
||||
|
@@ -2960,10 +2960,15 @@ log_subexpr(sub)
|
||||
sub->list.multi[j].end.col,
|
||||
(int)sub->list.multi[j].end.lnum);
|
||||
else
|
||||
{
|
||||
char *s = (char *)sub->list.line[j].start;
|
||||
char *e = (char *)sub->list.line[j].end;
|
||||
|
||||
fprintf(log_fd, "\n *** group %d, start: \"%s\", end: \"%s\"",
|
||||
j,
|
||||
(char *)sub->list.line[j].start,
|
||||
(char *)sub->list.line[j].end);
|
||||
s == NULL ? "NULL" : s,
|
||||
e == NULL ? "NULL" : e);
|
||||
}
|
||||
fprintf(log_fd, "\n");
|
||||
}
|
||||
#endif
|
||||
|
@@ -728,6 +728,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1120,
|
||||
/**/
|
||||
1119,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user