From: Nicholas Clark Date: Tue, 9 May 2006 16:04:25 +0000 (+0000) Subject: Ressurect change 27824, which plugs a resource leak in uncalled code. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2cdf8b6c82a522ab6054376c5495b61d5124fe25;p=p5sagit%2Fp5-mst-13.2.git Ressurect change 27824, which plugs a resource leak in uncalled code. p4raw-id: //depot/perl@28141 --- diff --git a/ext/Encode/Encode.xs b/ext/Encode/Encode.xs index 709b764..3a30f05 100644 --- a/ext/Encode/Encode.xs +++ b/ext/Encode/Encode.xs @@ -696,10 +696,12 @@ CODE: /* Must do things the slow way */ U8 *dest; /* We need a copy to pass to check() */ - U8 *src = (U8*)savepv((char *)s); + U8 *src = s; U8 *send = s + len; + U8 *d0; New(83, dest, len, U8); /* I think */ + d0 = dest; while (s < send) { if (*s < 0x80){ @@ -735,6 +737,9 @@ CODE: *dest++ = (U8)uv; } } + RETVAL = dest - d0; + sv_usepvn(sv, (char *)dest, RETVAL); + SvUTF8_off(sv); } else { RETVAL = (utf8_to_bytes(s, &len) ? len : 0); }