X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.c;h=f856ea66124a3e4241af5bd3cd9abab7028993f9;hb=98b27f730135d66291d417127f64dc5e94d47ae3;hp=be6d7233a2457d51fe467b28bd4a9606bca6734f;hpb=bbee22da22fa5dec68cc0a214906c852df8ebcc0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.c b/pp.c index be6d723..f856ea6 100644 --- a/pp.c +++ b/pp.c @@ -3350,8 +3350,10 @@ PP(pp_uc) SETs(TARG); } else { + STRLEN nchar = utf8_length(s, s + len); + (void)SvUPGRADE(TARG, SVt_PV); - SvGROW(TARG, (len * UTF8_MAXLEN_UCLC) + 1); + SvGROW(TARG, (nchar * UTF8_MAXLEN_UCLC) + 1); (void)SvPOK_only(TARG); d = (U8*)SvPVX(TARG); send = s + len; @@ -3417,8 +3419,10 @@ PP(pp_lc) SETs(TARG); } else { + STRLEN nchar = utf8_length(s, s + len); + (void)SvUPGRADE(TARG, SVt_PV); - SvGROW(TARG, (len * UTF8_MAXLEN_UCLC) + 1); + SvGROW(TARG, (nchar * UTF8_MAXLEN_UCLC) + 1); (void)SvPOK_only(TARG); d = (U8*)SvPVX(TARG); send = s + len;