[arch-commits] Commit in libvisual-plugins/trunk (2 files)

Jan de Groot jgc at archlinux.org
Sun Mar 18 17:19:55 EDT 2012


    Date: Sunday, March 18, 2012 @ 17:19:54
  Author: jgc
Revision: 153727

upgpkg: libvisual-plugins 0.4.0-6

Add patch to fix crashes in nastyfft plugin

Added:
  libvisual-plugins/trunk/60_no-const-vispluginfo-in-nastyfft.patch
Modified:
  libvisual-plugins/trunk/PKGBUILD

-------------------------------------------+
 60_no-const-vispluginfo-in-nastyfft.patch |   18 ++++++++++++++++++
 PKGBUILD                                  |    9 ++++++---
 2 files changed, 24 insertions(+), 3 deletions(-)

Added: 60_no-const-vispluginfo-in-nastyfft.patch
===================================================================
--- 60_no-const-vispluginfo-in-nastyfft.patch	                        (rev 0)
+++ 60_no-const-vispluginfo-in-nastyfft.patch	2012-03-18 21:19:54 UTC (rev 153727)
@@ -0,0 +1,18 @@
+The static VisPluginInfo in nastyfft was declared as const, but libvisual write
+to its refcount when it visual_object_unref()s it (nasty!).  This is broken at
+various levels: libvisual shouldn't be writing to this static plugin which is
+allocated by a dlopen()ed plugin, and it should also honor the "const
+VisPluginInfo" API...  Anyway, nastyfft was the only occurrence and this fixes
+the crash for now; LP: #287448.
+
+--- libvisual-plugins-0.4.0.dfsg.1.orig/plugins/actor/nastyfft/actor_nastyfft.c
++++ libvisual-plugins-0.4.0.dfsg.1/plugins/actor/nastyfft/actor_nastyfft.c
+@@ -80,7 +80,7 @@
+ 		.vidoptions.depth = VISUAL_VIDEO_DEPTH_GL
+ 	}};
+ 
+-	static const VisPluginInfo info[] = {{
++	static VisPluginInfo info[] = {{
+ 		.type = VISUAL_PLUGIN_TYPE_ACTOR,
+ 
+ 		.plugname = N_("nastyfft"),

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-03-18 19:57:52 UTC (rev 153726)
+++ PKGBUILD	2012-03-18 21:19:54 UTC (rev 153727)
@@ -3,7 +3,7 @@
 
 pkgname=libvisual-plugins
 pkgver=0.4.0
-pkgrel=5
+pkgrel=6
 pkgdesc="plugins for libvisual"
 arch=("i686" "x86_64")
 license=('GPL')
@@ -16,13 +16,15 @@
         03_build_against_gl_fixes.patch
         04_lv_analyzer_build_fix.patch
         05_fix_po.patch
-        050_all_automagic.patch)
+        050_all_automagic.patch
+        60_no-const-vispluginfo-in-nastyfft.patch)
 md5sums=('4330e9287f9d6fae02f482f428a1e77b'
          'f9cfb607bfcbfef60830fae4e7dc6963'
          '116701408747dbb87dc134434478ebe2'
          '01678a8f1584c76a44e59d81003a1109'
          '6189b7427c4e11c8b8d6c6266d6a1629'
-         'b50ae94c424a5f0af235deffa8451eb6')
+         'b50ae94c424a5f0af235deffa8451eb6'
+         '7012518727cb072a7e90a826a5577cc6')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -30,6 +32,7 @@
   patch -Np1 -i "${srcdir}/03_build_against_gl_fixes.patch"
   patch -Np1 -i "${srcdir}/04_lv_analyzer_build_fix.patch"
   patch -Np0 -i "${srcdir}/050_all_automagic.patch"
+  patch -Np1 -i "${srcdir}/60_no-const-vispluginfo-in-nastyfft.patch"
 
   autoreconf -fi
   # Apply later as autoreconf overwrites po/Makefile.in.in



More information about the arch-commits mailing list