summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2007-09-14 21:59:59 +0000
committerDave Mitchell <davem@fdisolutions.com>2007-09-14 21:59:59 +0000
commitbd94e8870784246bb7caab6a441839b05491de37 (patch)
tree6f9f5b6aaf51d95149a458f4e46161946c89ac16 /regcomp.c
parentd329efa20817c5be059265c848fe2d22504f1b7e (diff)
downloadperl-bd94e8870784246bb7caab6a441839b05491de37.tar.gz
[perl #45337] utf8 + "[a]a{2}" + /$.../ = panic: sv_len_utf8 cache
when shrinking an SV, shrink the sv_len_utf8 cache too! p4raw-id: //depot/perl@31867
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/regcomp.c b/regcomp.c
index 358ac8ef07..441d762e6e 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -3297,7 +3297,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
SvUTF8(sv) && SvMAGICAL(sv) ?
mg_find(sv, PERL_MAGIC_utf8) : NULL;
if (mg && mg->mg_len >= 0)
- mg->mg_len += CHR_SVLEN(last_str);
+ mg->mg_len += CHR_SVLEN(last_str) - l;
}
data->last_end += l * (mincount - 1);
}