media-libs/coin: Fix segfault with GCC-6
authorPeter Levine <plevine457@gmail.com>
Wed, 19 Jul 2017 05:46:56 +0000 (01:46 -0400)
committerAlexey Shvetsov <alexxy@gentoo.org>
Sun, 23 Jul 2017 13:09:04 +0000 (16:09 +0300)
Bug: https://bugs.gentoo.org/show_bug.cgi?id=619378
Package-Manager: Portage-2.3.6, Repoman-2.3.2

media-libs/coin/coin-3.1.3-r2.ebuild
media-libs/coin/files/coin-3.1.3-memhandler-initialization.patch [new file with mode: 0644]

index c9686db8c426172a92cd3f592bac4cf9195d1679..5edce05a9cb261ed5a2a4c2208d3cd601fb3808c 100644 (file)
@@ -45,6 +45,7 @@ PATCHES=(
        "${FILESDIR}"/${P}-pkgconfig-partial.patch
        "${FILESDIR}"/${P}-gcc-4.7.patch
        "${FILESDIR}"/${P}-freetype251.patch
+       "${FILESDIR}"/${P}-memhandler-initialization.patch
 )
 
 DOCS=(
diff --git a/media-libs/coin/files/coin-3.1.3-memhandler-initialization.patch b/media-libs/coin/files/coin-3.1.3-memhandler-initialization.patch
new file mode 100644 (file)
index 0000000..892882b
--- /dev/null
@@ -0,0 +1,23 @@
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=619378
+Patch http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/tree/0012-memhandler-initialization.patch?id=ca89ec7227943bdec800ee51b920f578fab87b05
+
+--- a/src/misc/SbHash.h
++++ b/src/misc/SbHash.h
+@@ -89,6 +89,8 @@
+     cc_memalloc_deallocate(entry->memhandler, ptr);
+   }
+   SbHashEntry(const Key & key, const Type & obj) : key(key), obj(obj) {}
++  SbHashEntry(const Key & key, const Type & obj, cc_memalloc *memhandler)
++              : key(key), obj(obj), memhandler(memhandler) {}
+
+   Key key;
+   Type obj;
+@@ -218,7 +220,7 @@
+     /* Key not already in the hash table; insert a new
+      * entry as the first element in the bucket
+      */
+-    entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj);
++    entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj, this->memhandler);
+     entry->next = this->buckets[i];
+     this->buckets[i] = entry;
+