FAQ
In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/50b6e5145b2207a553f4fb1fccd9902993794934?hp=00d484c1d87e30631537859338714ac41ec2d216>

- Log -----------------------------------------------------------------
commit 50b6e5145b2207a553f4fb1fccd9902993794934
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon Feb 29 08:47:54 2016 -0500

     Scalar-List-Utils customization bump

M Porting/Maintainers.pl
M t/porting/customized.dat

commit ae76ecf7a89875f2aa21e9e5616d0ff5d0d3ae35
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon Feb 29 08:43:51 2016 -0500

     Scalar-List-Utils version bump

M cpan/Scalar-List-Utils/lib/List/Util.pm
M cpan/Scalar-List-Utils/lib/List/Util/XS.pm
M cpan/Scalar-List-Utils/lib/Scalar/Util.pm
M cpan/Scalar-List-Utils/lib/Sub/Util.pm

commit d962874bb2fb8159ec2e9f58745d6d02b56e84c7
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon Feb 29 08:39:02 2016 -0500

     product() with zero IV crash/hang

     CID 104785: Division or modulo by zero (DIVIDE_BY_ZERO)
     238. divide_by_zero: In expression 9223372036854775807L / retiv, division by expression retiv which may be zero has undefined behavior.
     215 if(!SvNOK(sv) && SvIOK(sv) && (SvIV(sv) < IV_MAX / retiv)) {

     Cherry-pick of the changes in
     https://rt.cpan.org/Public/Bug/Display.html?id=105415

M cpan/Scalar-List-Utils/ListUtil.xs
M cpan/Scalar-List-Utils/t/product.t

commit 98e2bb74e9450c612d85b3f54540f899f9e3a7ea
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon Feb 29 07:16:59 2016 -0500

     Socket customization bump

M Porting/Maintainers.pl
M t/porting/customized.dat

commit ac89c499a1558db522f8f62f1523cca50a848d5c
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon Feb 29 07:15:08 2016 -0500

     Socket version bump

M cpan/Socket/Socket.pm

commit 2d703bea55021a04c1b7a7b0abfe231ebd104d13
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon Feb 29 06:50:58 2016 -0500

     Check for max length before derefing by length.

     Coverity CID 135025 (#1 of 1): Out-of-bounds read (OVERRUN)
     29. overrun-local: Overrunning array addr.sun_path of 108 bytes at byte offset 108 using index addr_len (which evaluates to 108).
      864 for (addr_len = 0; addr.sun_path[addr_len]
      28. incr: Incrementing addr_len. The value of addr_len may now be up to 108.
      865 && addr_len < maxlen; addr_len++);

     Reported upstream as

     https://rt.cpan.org/Ticket/Display.html?id=111707

M cpan/Socket/Socket.xs
-----------------------------------------------------------------------

Summary of changes:
  Porting/Maintainers.pl | 3 +++
  cpan/Scalar-List-Utils/ListUtil.xs | 3 ++-
  cpan/Scalar-List-Utils/lib/List/Util.pm | 2 +-
  cpan/Scalar-List-Utils/lib/List/Util/XS.pm | 2 +-
  cpan/Scalar-List-Utils/lib/Scalar/Util.pm | 2 +-
  cpan/Scalar-List-Utils/lib/Sub/Util.pm | 2 +-
  cpan/Scalar-List-Utils/t/product.t | 5 ++++-
  cpan/Socket/Socket.pm | 2 +-
  cpan/Socket/Socket.xs | 4 ++--
  t/porting/customized.dat | 15 ++++++++-------
  10 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 4be568d..b31a002 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -988,12 +988,14 @@ use File::Glob qw(:case);
          'FILES' => q[cpan/Scalar-List-Utils],
          # Waiting to be merged upstream:
          # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/24
+ # https://rt.cpan.org/Public/Bug/Display.html?id=105415
          'CUSTOMIZED' => [
              qw( ListUtil.xs
                  lib/List/Util.pm
                  lib/List/Util/XS.pm
                  lib/Scalar/Util.pm
                  lib/Sub/Util.pm
+ t/product.t
                  )
          ],
      },
@@ -1015,6 +1017,7 @@ use File::Glob qw(:case);

          # https://rt.cpan.org/Ticket/Display.html?id=106797
          # https://rt.cpan.org/Ticket/Display.html?id=107058
+ # https://rt.cpan.org/Ticket/Display.html?id=111707
          'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
      },

diff --git a/cpan/Scalar-List-Utils/ListUtil.xs b/cpan/Scalar-List-Utils/ListUtil.xs
index 504c70e..04dca10 100644
--- a/cpan/Scalar-List-Utils/ListUtil.xs
+++ b/cpan/Scalar-List-Utils/ListUtil.xs
@@ -212,7 +212,8 @@ CODE:
              break;
          case ACC_IV:
              if(is_product) {
- if(!SvNOK(sv) && SvIOK(sv) && (SvIV(sv) < IV_MAX / retiv)) {
+ if(retiv == 0 ||
+ (!SvNOK(sv) && SvIOK(sv) && (SvIV(sv) < IV_MAX / retiv))) {
                      retiv *= SvIV(sv);
                      break;
                  }
diff --git a/cpan/Scalar-List-Utils/lib/List/Util.pm b/cpan/Scalar-List-Utils/lib/List/Util.pm
index 701c784..75866aa 100644
--- a/cpan/Scalar-List-Utils/lib/List/Util.pm
+++ b/cpan/Scalar-List-Utils/lib/List/Util.pm
@@ -14,7 +14,7 @@ our @EXPORT_OK = qw(
    all any first min max minstr maxstr none notall product reduce sum sum0 shuffle
    pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst
  );
-our $VERSION = "1.42_01";
+our $VERSION = "1.42_02";
  our $XS_VERSION = $VERSION;
  $VERSION = eval $VERSION;

diff --git a/cpan/Scalar-List-Utils/lib/List/Util/XS.pm b/cpan/Scalar-List-Utils/lib/List/Util/XS.pm
index e7f25c0..fca0738 100644
--- a/cpan/Scalar-List-Utils/lib/List/Util/XS.pm
+++ b/cpan/Scalar-List-Utils/lib/List/Util/XS.pm
@@ -2,7 +2,7 @@ package List::Util::XS;
  use strict;
  use List::Util;

-our $VERSION = "1.42_01"; # FIXUP
+our $VERSION = "1.42_02"; # FIXUP
  $VERSION = eval $VERSION; # FIXUP

  1;
diff --git a/cpan/Scalar-List-Utils/lib/Scalar/Util.pm b/cpan/Scalar-List-Utils/lib/Scalar/Util.pm
index 211c572..99a536d 100644
--- a/cpan/Scalar-List-Utils/lib/Scalar/Util.pm
+++ b/cpan/Scalar-List-Utils/lib/Scalar/Util.pm
@@ -16,7 +16,7 @@ our @EXPORT_OK = qw(
    dualvar isdual isvstring looks_like_number openhandle readonly set_prototype
    tainted
  );
-our $VERSION = "1.42_01";
+our $VERSION = "1.42_02";
  $VERSION = eval $VERSION;

  require List::Util; # List::Util loads the XS
diff --git a/cpan/Scalar-List-Utils/lib/Sub/Util.pm b/cpan/Scalar-List-Utils/lib/Sub/Util.pm
index 9829903..1bf5878 100644
--- a/cpan/Scalar-List-Utils/lib/Sub/Util.pm
+++ b/cpan/Scalar-List-Utils/lib/Sub/Util.pm
@@ -15,7 +15,7 @@ our @EXPORT_OK = qw(
    subname set_subname
  );

-our $VERSION = "1.42_01";
+our $VERSION = "1.42_02";
  $VERSION = eval $VERSION;

  require List::Util; # as it has the XS
diff --git a/cpan/Scalar-List-Utils/t/product.t b/cpan/Scalar-List-Utils/t/product.t
index c397f82..38c923b 100644
--- a/cpan/Scalar-List-Utils/t/product.t
+++ b/cpan/Scalar-List-Utils/t/product.t
@@ -3,7 +3,7 @@
  use strict;
  use warnings;

-use Test::More tests => 13;
+use Test::More tests => 14;

  use List::Util qw(product);

@@ -19,6 +19,9 @@ is( $v, 24, '4 args');
  $v = product(-1);
  is( $v, -1, 'one -1');

+$v = product(0, 1, 2);
+is( $v, 0, 'first factor zero' );
+
  my $x = -3;

  $v = product($x, 3);
diff --git a/cpan/Socket/Socket.pm b/cpan/Socket/Socket.pm
index dd89450..5b187fa 100644
--- a/cpan/Socket/Socket.pm
+++ b/cpan/Socket/Socket.pm
@@ -3,7 +3,7 @@ package Socket;
  use strict;
  { use 5.006001; }

-our $VERSION = '2.020_02'; # patched in perl5.git
+our $VERSION = '2.020_03'; # patched in perl5.git

  =head1 NAME

diff --git a/cpan/Socket/Socket.xs b/cpan/Socket/Socket.xs
index 52df483..3b1d70e 100644
--- a/cpan/Socket/Socket.xs
+++ b/cpan/Socket/Socket.xs
@@ -861,8 +861,8 @@ unpack_sockaddr_un(sun_sv)
  # else
    const int maxlen = (int)sizeof(addr.sun_path);
  # endif
- for (addr_len = 0; addr.sun_path[addr_len]
- && addr_len < maxlen; addr_len++);
+ for (addr_len = 0; addr_len < maxlen
+ && addr.sun_path[addr_len]; addr_len++);
   }

   ST(0) = sv_2mortal(newSVpvn(addr.sun_path, addr_len));
diff --git a/t/porting/customized.dat b/t/porting/customized.dat
index f8c0595..cddecf4 100644
--- a/t/porting/customized.dat
+++ b/t/porting/customized.dat
@@ -38,13 +38,14 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/prereq.t 53bda2c549fd13a6b6c13a070
  ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/vstrings.t 90035a2bdbf45f15b9c3196d072d7cba7e662871
  Math::BigRat cpan/Math-BigRat/lib/Math/BigRat.pm 6eabc68e04f67694f6fe523e64eb013fc337ca5b
  Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm fe0bc906fb74b69cfd3fb289316ba669d770d465
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util.pm 62d2a82a811b531a3fd25cb60c4c2ef943858892
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm 08abbe1a707927cee53e85ba85d6bd35c1c2ae50
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm 7f1e6eb11105623200ef9cdcb881545ccb769ded
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/Sub/Util.pm d87811528ae3587f04e2f09894b8c88471754386
-Scalar-List-Utils cpan/Scalar-List-Utils/ListUtil.xs ed25abc419771d6f3f12323f1f0a372f043d51b2
-Socket cpan/Socket/Socket.pm bdc42a2bd5cb560ed1120a3e6f408ed7ece14dce
-Socket cpan/Socket/Socket.xs 6102315291684e56e360ff5e0dd237c9394c49b8
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util.pm 3b501b7332480b34929bc4df5d48581df3307267
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm ebd169113d3df79d31ad5535dbd7a538a8c14fd2
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm def601405bac7a4d6690b8c4207e0f05d65eb4ca
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/Sub/Util.pm 1187d6cd9bccf1264bd53b3a65ea96fad7520068
+Scalar-List-Utils cpan/Scalar-List-Utils/ListUtil.xs 6128584ecb0ae69bb21b16b22daceeffc92df9d9
+Scalar-List-Utils cpan/Scalar-List-Utils/t/product.t 99bf424804f055b99ff2a18b7dcf25bb8b6d2463
+Socket cpan/Socket/Socket.pm 98e38176d745c38282907f391c077298f5a3d0ba
+Socket cpan/Socket/Socket.xs edd4fed212785f11c5c2095a75941dad27d586d9
  Win32API::File cpan/Win32API-File/buffers.h 02d230ac9ac7091365128161a0ed671898baefae
  Win32API::File cpan/Win32API-File/cFile.h fca7e383e76979c3ac3adf12d11d1bcd2618e489
  Win32API::File cpan/Win32API-File/cFile.pc 992421eea7782a5957b64f66764f6ffb5093bee4

--
Perl5 Master Repository

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 1 | next ›
Discussion Overview
groupperl5-changes @
categoriesperl
postedMar 1, '16 at 1:52a
activeMar 1, '16 at 1:52a
posts1
users1
websiteperl.org

1 user in discussion

Jarkko Hietaniemi: 1 post

People

Translate

site design / logo © 2017 Grokbase