Update Encode to CPAN version 2.44
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 9 Aug 2011 09:02:28 +0000 (10:02 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 9 Aug 2011 10:25:57 +0000 (11:25 +0100)
  [DELTA]

  $Revision: 2.44 $ $Date: 2011/08/09 07:49:44 $
  ! Unicode/Unicode.xs
    Addressed the following:
      Date: Fri, 22 Jul 2011 13:58:43 +0200
      From: Robert Zacek <zacek@avast.com>
      To: perl5-security-report@perl.org
      Subject: Unicode.xs!decode_xs n-byte heap-overflow
  ! Encode.pm encoding.pm
  ! lib/Encode/Alias.pm lib/Encode/Encoder.pm lib/Encode/Guess.pm
    Applied: RT#69735: patch for use constant DEBUG =>
    https://rt.cpan.org/Ticket/Update.html?id=69735

Porting/Maintainers.pl
cpan/Encode/Changes
cpan/Encode/Encode.pm
cpan/Encode/META.yml
cpan/Encode/Unicode/Unicode.xs
cpan/Encode/encoding.pm
cpan/Encode/lib/Encode/Alias.pm
cpan/Encode/lib/Encode/Encoder.pm
cpan/Encode/lib/Encode/Guess.pm
pod/perldelta.pod

index 41a73d3..8bd9af9 100755 (executable)
@@ -625,7 +625,7 @@ use File::Glob qw(:case);
     'Encode' =>
        {
        'MAINTAINER'    => 'dankogai',
-       'DISTRIBUTION'  => 'DANKOGAI/Encode-2.43.tar.gz',
+       'DISTRIBUTION'  => 'DANKOGAI/Encode-2.44.tar.gz',
        'FILES'         => q[cpan/Encode],
        'UPSTREAM'      => 'cpan',
        },
index 7df9330..5423421 100644 (file)
@@ -1,8 +1,20 @@
 # Revision history for Perl extension Encode.
 #
-# $Id: Changes,v 2.43 2011/05/21 23:14:43 dankogai Exp dankogai $
+# $Id: Changes,v 2.44 2011/08/09 07:49:44 dankogai Exp dankogai $
 #
-$Revision: 2.43 $ $Date: 2011/05/21 23:14:43 $
+$Revision: 2.44 $ $Date: 2011/08/09 07:49:44 $
+! Unicode/Unicode.xs
+  Addressed the following:
+    Date: Fri, 22 Jul 2011 13:58:43 +0200
+    From: Robert Zacek <zacek@avast.com>
+    To: perl5-security-report@perl.org
+    Subject: Unicode.xs!decode_xs n-byte heap-overflow
+! Encode.pm encoding.pm
+! lib/Encode/Alias.pm lib/Encode/Encoder.pm lib/Encode/Guess.pm
+  Applied: RT#69735: patch for use constant DEBUG =>
+  https://rt.cpan.org/Ticket/Update.html?id=69735
+
+2.43 2011/05/21 23:14:43
 ! lib/Encode/Alias.pm
   Addressed RT#68361: Encode::Bytes x-mac-... aliases missing
   https://rt.cpan.org/Ticket/Display.html?id=68361
index b6bace9..171b2da 100644 (file)
@@ -1,11 +1,11 @@
 #
-# $Id: Encode.pm,v 2.43 2011/05/21 23:14:43 dankogai Exp dankogai $
+# $Id: Encode.pm,v 2.44 2011/08/09 07:49:44 dankogai Exp dankogai $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.43 $ =~ /(\d+)/g;
-sub DEBUG () { 0 }
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.44 $ =~ /(\d+)/g;
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
 
index 33861c7..d73458f 100644 (file)
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               Encode
-version:            2.43
+version:            2.44
 abstract:           ~
 author:  []
 license:            unknown
@@ -14,7 +14,7 @@ no_index:
     directory:
         - t
         - inc
-generated_by:       ExtUtils::MakeMaker version 6.56
+generated_by:       ExtUtils::MakeMaker version 6.57_05
 meta-spec:
     url:      http://module-build.sourceforge.net/META-spec-v1.4.html
     version:  1.4
index 16f4cd1..039f155 100644 (file)
@@ -1,5 +1,5 @@
 /*
- $Id: Unicode.xs,v 2.7 2010/12/31 22:48:48 dankogai Exp $
+ $Id: Unicode.xs,v 2.8 2011/08/09 07:49:44 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -256,7 +256,10 @@ CODE:
               This prevents allocating too much in the rogue case of a large
               input consisting initially of long sequence uft8-byte unicode
               chars followed by single utf8-byte chars. */
-           STRLEN remaining = (e - s)/usize;
+            /* +1 
+               fixes  Unicode.xs!decode_xs n-byte heap-overflow
+              */
+           STRLEN remaining = (e - s)/usize + 1; /* +1 to avoid the leak */
            STRLEN max_alloc = remaining + (8*1024*1024);
            STRLEN est_alloc = remaining * UTF8_MAXLEN;
            STRLEN newlen = SvLEN(result) + /* min(max_alloc, est_alloc) */
index be20a49..24d6e5b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: encoding.pm,v 2.8 2009/02/15 17:44:13 dankogai Exp $
+# $Id: encoding.pm,v 2.9 2011/08/09 07:49:44 dankogai Exp dankogai $
 package encoding;
 our $VERSION = '2.6_01';
 
@@ -6,7 +6,7 @@ use Encode;
 use strict;
 use warnings;
 
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 
 BEGIN {
     if ( ord("A") == 193 ) {
index 604d39e..d744cc5 100644 (file)
@@ -2,8 +2,8 @@ package Encode::Alias;
 use strict;
 use warnings;
 no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.14 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-sub DEBUG () { 0 }
+our $VERSION = do { my @r = ( q$Revision: 2.15 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 
 use base qw(Exporter);
 
index f7194f8..9a46d36 100644 (file)
@@ -1,17 +1,17 @@
 #
-# $Id: Encoder.pm,v 2.1 2006/05/03 18:24:10 dankogai Exp $
+# $Id: Encoder.pm,v 2.2 2011/08/09 07:49:44 dankogai Exp dankogai $
 #
 package Encode::Encoder;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 require Exporter;
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw ( encoder );
 
 our $AUTOLOAD;
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use Encode qw(encode decode find_encoding from_to);
 use Carp;
 
index 9636a8a..31ec58f 100644 (file)
@@ -2,10 +2,10 @@ package Encode::Guess;
 use strict;
 use warnings;
 use Encode qw(:fallbacks find_encoding);
-our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 my $Canon = 'Guess';
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 our %DEF_SUSPECTS = map { $_ => find_encoding($_) } qw(ascii utf8);
 $Encode::Encoding{$Canon} = bless {
     Name     => $Canon,
index 4082704..1e5380e 100644 (file)
@@ -130,6 +130,12 @@ Will now croak if attempt to freeze/thaw DB_File object [RT #69985]
 
 =item *
 
+L<Encode> has been upgraded from version 2.43 to version 2.44
+
+Addressed 'decode_xs n-byte heap-overflow' security bug in Unicode.xs
+
+=item *
+
 L<ExtUtils::Install> has been upgraded from version 1.56 to version 1.57.
 
 There is no change to ExtUtils::Install other than the version number