Update Encode to CPAN version 2.49
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 5 Mar 2013 11:45:09 +0000 (11:45 +0000)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 5 Mar 2013 11:45:09 +0000 (11:45 +0000)
  [DELTA]

  $Revision: 2.49 $ $Date: 2013/03/05 03:12:49 $
  ! Encode.xs
    Addressed: Encoding objects leak memory if decoding fails
    https://github.com/dankogai/p5-encode/issues/8

15 files changed:
Porting/Maintainers.pl
cpan/Encode/Changes
cpan/Encode/Encode.pm
cpan/Encode/Encode.xs
cpan/Encode/META.json
cpan/Encode/META.yml
cpan/Encode/Makefile.PL
cpan/Encode/encoding.pm
cpan/Encode/t/Mod_EUCJP.pm
cpan/Encode/t/enc_data.t
cpan/Encode/t/enc_eucjp.t
cpan/Encode/t/enc_module.t
cpan/Encode/t/enc_utf8.t
cpan/Encode/t/jperl.t
cpan/Encode/t/piconv.t

index 57ab853..10dbd40 100755 (executable)
@@ -636,7 +636,7 @@ use File::Glob qw(:case);
 
     'Encode' => {
         'MAINTAINER'   => 'dankogai',
-        'DISTRIBUTION' => 'DANKOGAI/Encode-2.48.tar.gz',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.49.tar.gz',
         'FILES'        => q[cpan/Encode],
         'UPSTREAM'     => 'cpan',
     },
index 36d3880..c916db9 100644 (file)
@@ -1,8 +1,13 @@
 # Revision history for Perl extension Encode.
 #
-# $Id: Changes,v 2.48 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: Changes,v 2.49 2013/03/05 03:12:49 dankogai Exp dankogai $
 #
-$Revision: 2.48 $ $Date: 2013/02/18 02:23:56 $
+$Revision: 2.49 $ $Date: 2013/03/05 03:12:49 $
+! Encode.xs
+  Addressed: Encoding objects leak memory if decoding fails
+  https://github.com/dankogai/p5-encode/issues/8
+
+2.48 2013/02/18 02:23:56
 ! encoding.pm 
   t/Mod_EUCJP.pm t/enc_data.t t/enc_eucjp.t t/enc_module.t t/enc_utf8.t
   t/encoding.t t/jperl.t
index fa78d68..fe81119 100644 (file)
@@ -1,10 +1,10 @@
 #
-# $Id: Encode.pm,v 2.48 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: Encode.pm,v 2.49 2013/03/05 03:13:47 dankogai Exp dankogai $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.48 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.49 $ =~ /(\d+)/g;
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
index bb48e5a..f99da10 100644 (file)
@@ -1,5 +1,5 @@
 /*
- $Id: Encode.xs,v 2.20 2010/12/31 22:48:48 dankogai Exp $
+ $Id: Encode.xs,v 2.21 2013/03/05 03:12:49 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -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);
 }
 
index be0c1d2..4895bda 100644 (file)
@@ -35,5 +35,5 @@
       }
    },
    "release_status" : "stable",
-   "version" : "2.48"
+   "version" : "2.49"
 }
index ddbaaec..398a230 100644 (file)
@@ -18,4 +18,4 @@ no_index:
     - t
     - inc
 requires: {}
-version: 2.48
+version: 2.49
index fab6914..126f00e 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile.PL,v 2.10 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: Makefile.PL,v 2.10 2013/02/18 02:23:56 dankogai Exp $
 #
 use 5.007003;
 use strict;
index 3761698..2783c9f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: encoding.pm,v 2.11 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: encoding.pm,v 2.11 2013/02/18 02:23:56 dankogai Exp $
 package encoding;
 our $VERSION = '2.6_01';
 
index ebc401e..4f381c5 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Mod_EUCJP.pm,v 2.1 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: Mod_EUCJP.pm,v 2.1 2013/02/18 02:23:56 dankogai Exp $
 # This file is in euc-jp
 package Mod_EUCJP;
 no warnings "deprecated";
index afca4e5..a0caf65 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: enc_data.t,v 2.2 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: enc_data.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 
 BEGIN {
     require Config; import Config;
index dc35c35..7c78a68 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: enc_eucjp.t,v 2.2 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: enc_eucjp.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 # This is the twin of enc_utf8.t .
 
 BEGIN {
index 0ff3fd1..05fc6c2 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: enc_module.t,v 2.2 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: enc_module.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 # This file is in euc-jp
 BEGIN {
     require Config; import Config;
index de4a4ad..9c6caa3 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: enc_utf8.t,v 2.2 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: enc_utf8.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 # This is the twin of enc_eucjp.t .
 
 BEGIN {
index 915d26c..3abe86b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: jperl.t,v 2.2 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: jperl.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 #
 # This script is written in euc-jp
 
index 1dba44a..e0768d5 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: piconv.t,v 0.4 2013/02/18 02:23:56 dankogai Exp dankogai $
+# $Id: piconv.t,v 0.4 2013/02/18 02:23:56 dankogai Exp $
 #
 
 BEGIN {