In perl.git, the branch rjbs/release-5.16.3 has been updated <http://perl5.git.perl.org/perl.git/commitdiff/8a2735295dd6ce6369bf4a420c0aadfde11a8d39?hp=716e2c337e3e23cdd15e2704f4768be04b1e6e25>
- Log ----------------------------------------------------------------- commit 8a2735295dd6ce6369bf4a420c0aadfde11a8d39 Author: Ricardo Signes <[email protected]> Date: Wed Mar 6 21:13:25 2013 -0500 perlhist: date for 5.16.3-RC1 M pod/perlhist.pod commit 7cfc1ce891b4c5939e7b30c60883ff3f78e51a0b Author: Ricardo Signes <[email protected]> Date: Wed Mar 6 10:10:01 2013 -0500 perldelta: Encode update M pod/perldelta.pod commit 20ab4d570346cd3b425d0eb54d3c5195499479b0 Author: Ricardo Signes <[email protected]> Date: Wed Mar 6 09:44:47 2013 -0500 perldelta: Module::CoreList update M pod/perldelta.pod commit 72834d2be8737b4a848eccaca700e681ce67fab3 Author: Ricardo Signes <[email protected]> Date: Wed Mar 6 09:43:46 2013 -0500 add 5.16.3 to Module:Corelist M dist/Module-CoreList/lib/Module/CoreList.pm commit d9e9607719dfa0f9e06fe0c06418bd9f3d4c14f4 Author: Ricardo Signes <[email protected]> Date: Wed Mar 6 09:51:29 2013 -0500 bump version number of Encode by _01 M cpan/Encode/Encode.pm commit bbe897dfad5c0643d0541674a5e2b6c7d8e564b3 Author: chansen <[email protected]> Date: Sun Mar 3 22:43:53 2013 +0100 Encode: Fixed a memory leak that occurred in the UTF-8 encoding. The decode and encode methods allocated a SV for the result, this SV is passed to the process_utf8() function which may croak() if the CHECK flag has FB_CROAK set. M cpan/Encode/Encode.xs ----------------------------------------------------------------------- Summary of changes: cpan/Encode/Encode.pm | 2 +- cpan/Encode/Encode.xs | 8 ++++---- dist/Module-CoreList/lib/Module/CoreList.pm | 15 ++++++++++++++- pod/perldelta.pod | 13 +++++++++++++ pod/perlhist.pod | 1 + 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/cpan/Encode/Encode.pm b/cpan/Encode/Encode.pm index 171b2da..8c5e613 100644 --- a/cpan/Encode/Encode.pm +++ b/cpan/Encode/Encode.pm @@ -4,7 +4,7 @@ package Encode; use strict; use warnings; -our $VERSION = sprintf "%d.%02d", q$Revision: 2.44 $ =~ /(\d+)/g; +our $VERSION = '2.44_01'; use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG}; use XSLoader (); XSLoader::load( __PACKAGE__, $VERSION ); diff --git a/cpan/Encode/Encode.xs b/cpan/Encode/Encode.xs index bb48e5a..312ba34 100644 --- a/cpan/Encode/Encode.xs +++ b/cpan/Encode/Encode.xs @@ -440,7 +440,6 @@ CODE: if (src == &PL_sv_undef || SvROK(src)) src = sv_2mortal(newSV(0)); s = (U8 *) SvPV(src, slen); e = (U8 *) SvEND(src); - dst = newSV(slen>0?slen:1); /* newSV() abhors 0 -- inaba */ check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV(check_sv); /* * PerlIO check -- we assume the object is of PerlIO if renewed @@ -471,6 +470,7 @@ CODE: } } + dst = sv_2mortal(newSV(slen>0?slen:1)); /* newSV() abhors 0 -- inaba */ s = process_utf8(aTHX_ dst, s, e, check_sv, 0, strict_utf8(aTHX_ obj), renewed); /* Clear out translated part of source unless asked not to */ @@ -482,7 +482,7 @@ CODE: SvCUR_set(src, slen); } SvUTF8_on(dst); - ST(0) = sv_2mortal(dst); + ST(0) = dst; XSRETURN(1); } @@ -504,7 +504,7 @@ CODE: if (src == &PL_sv_undef || SvROK(src)) src = sv_2mortal(newSV(0)); s = (U8 *) SvPV(src, slen); e = (U8 *) SvEND(src); - dst = newSV(slen>0?slen:1); /* newSV() abhors 0 -- inaba */ + dst = sv_2mortal(newSV(slen>0?slen:1)); /* newSV() abhors 0 -- inaba */ if (SvUTF8(src)) { /* Already encoded */ if (strict_utf8(aTHX_ obj)) { @@ -543,7 +543,7 @@ CODE: } SvPOK_only(dst); SvUTF8_off(dst); - ST(0) = sv_2mortal(dst); + ST(0) = dst; XSRETURN(1); } diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm b/dist/Module-CoreList/lib/Module/CoreList.pm index 6cd5fc7..4b5c3b4 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pm +++ b/dist/Module-CoreList/lib/Module/CoreList.pm @@ -3,7 +3,7 @@ use strict; use vars qw/$VERSION %released %version %families %upstream %bug_tracker %deprecated/; use Module::CoreList::TieHashDelta; -$VERSION = '2.76'; +$VERSION = '2.76_01'; my $dumpinc = 0; sub import { @@ -203,6 +203,7 @@ sub changes_between { 5.016000 => '2012-05-20', 5.016001 => '2012-08-08', 5.016002 => '2012-11-01', + 5.016003 => '2013-03-06', 5.017000 => '2012-05-26', 5.017001 => '2012-06-20', 5.017002 => '2012-07-20', @@ -6731,6 +6732,16 @@ my %delta = ( removed => { } }, + 5.016003 => { + delta_from => 5.016002, + changed => { + 'Encode' => '2.44_01', + 'Module::CoreList' => '2.76_01', + 'XS::APItest' => '0.39', + }, + removed => { + } + }, 5.017 => { delta_from => 5.016, changed => { @@ -7447,6 +7458,8 @@ for my $version (sort { $a <=> $b } keys %delta) { }, 5.016002 => { }, + 5.016003 => { + }, 5.017000 => { }, 5.017001 => { diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 071e303..3f4ce91 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -38,6 +38,11 @@ due to integer wraparound. This problem has been fixed. +=head2 memory leak in Encode + +The UTF-8 encoding implementation in Encode.xs had a memory leak which has been +fixed. + =head1 Incompatible Changes There are no changes intentionally incompatible with 5.16.0. If any @@ -55,6 +60,14 @@ There have been no deprecations since 5.16.0. =item * +L<Encode> has been upgraded from version 2.44 to version 2.44_01. + +=item * + +L<Module::CoreList> has been upgraded from version 2.76 to version 2.76_01. + +=item * + L<XS::APItest> has been upgraded from version 0.38 to version 0.39. =back diff --git a/pod/perlhist.pod b/pod/perlhist.pod index bb01e52..664e2a3 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -484,6 +484,7 @@ the strings?). Ricardo 5.16.1-RC1 2012-Aug-03 Ricardo 5.16.1 2012-Aug-08 Ricardo 5.16.2 2012-Nov-01 + Ricardo 5.16.3-RC1 2013-Mar-06 Zefram 5.17.0 2012-May-26 The 5.17 development track Jesse L 5.17.1 2012-Jun-20 -- Perl5 Master Repository
