about summary refs log tree commit diff
path: root/pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch
diff options
context:
space:
mode:
authorRobert Helgesson <robert@rycee.net>2015-07-07 22:32:31 +0200
committerRobert Helgesson <robert@rycee.net>2015-07-07 22:33:45 +0200
commitac91ab371a8b8c6a435a7a6170184e57b8482a70 (patch)
tree417d4ca6972d8851b9cd1845d1fade8ea561836c /pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch
parentb028c14256d08c1dcb5a26f37edc879885cac20d (diff)
downloadnixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.tar
nixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.tar.gz
nixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.tar.bz2
nixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.tar.lz
nixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.tar.xz
nixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.tar.zst
nixlib-ac91ab371a8b8c6a435a7a6170184e57b8482a70.zip
perl-BoostGeometryUtils: fix OOM in tests
The included patch from Debian resolves an out-of-memory error occurring
when running the test suite.
Diffstat (limited to 'pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch')
-rw-r--r--pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch b/pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch
new file mode 100644
index 000000000000..cbcce3819896
--- /dev/null
+++ b/pkgs/development/perl-modules/boost-geometry-utils-fix-oom.patch
@@ -0,0 +1,34 @@
+From a46f0e41056b48a56c572fe8884d4b5104a8343e Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+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: <20140522115758.GX15438@iabyn.com>
+ 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
+