tag 750224 patch thanks On Mon, Jun 02, 2014 at 07:14:58PM +0200, gregor herrmann wrote: > Package: libboost-geometry-utils-perl > Version: 0.15-1 > Severity: important > Tags: jessie sid upstream > User: [email protected] > Usertags: perl-5.20-transition > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > libboost-geometry-utils-perl fails to build with perl 5.20. > Build log at > http://people.debian.org/~ntyni/perl/5.20/logs/20140530/misc/libboost-geometry-utils-perl_0.15-1+b2_amd64-20140530-1720.build > > http://www.cpantesters.org/distro/B/Boost-Geometry-Utils.html?oncpan=1&distmat=1&version=0.15 > also doesn't look good.
Proposed patch attached, eyeballs welcome. The test suite passes for me with this on both 5.18 and 5.20. -- Niko Tyni [email protected]
>From a46f0e41056b48a56c572fe8884d4b5104a8343e Mon Sep 17 00:00:00 2001 From: Niko Tyni <[email protected]> Date: Sun, 29 Jun 2014 21:51:15 +0300 Subject: [PATCH] multi_linestring2perl: only extend the array if needed When the size is 0, we end up extending the stack with a negative value. As of Perl 5.19.4, more precisely http://perl5.git.perl.org/perl.git/commit/fc16c3924bd6aa054f21ad5445fecf9b7f39dc36 this ends up allocating memory for 4G-1 elements. See Dave Mitchell's comments on perl5-porters: Message-ID: <[email protected]> http://marc.info/?l=perl5-porters&m=140075990913228&w=2 --- src/mline2av.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mline2av.h b/src/mline2av.h index e4b3fc2..d7bacee 100644 --- a/src/mline2av.h +++ b/src/mline2av.h @@ -9,7 +9,8 @@ multi_linestring2perl(pTHX_ const multi_linestring& mls) { AV* av = newAV(); const unsigned int size = mls.size(); - av_extend(av, size-1); + if (size > 0) + av_extend(av, size-1); for (int i = 0; i < size; i++) { AV* lineav = newAV(); -- 2.0.0

