Backport #8210 » fix-8210-1.diff
regexec.c | ||
---|---|---|
start = min_semi_end - reg->anchor_dmax;
|
||
if (start < end)
|
||
start = onigenc_get_right_adjust_char_head(reg->enc, str, start);
|
||
else { /* match with empty at end */
|
||
start = onigenc_get_prev_char_head(reg->enc, str, end);
|
||
}
|
||
}
|
||
if ((OnigDistance )(max_semi_end - (range - 1)) < reg->anchor_dmin) {
|
||
range = max_semi_end - reg->anchor_dmin + 1;
|
||
}
|
||
if (start >= range) goto mismatch_no_msa;
|
||
if (start > range) goto mismatch_no_msa;
|
||
}
|
||
else {
|
||
if ((OnigDistance )(min_semi_end - range) > reg->anchor_dmax) {
|