[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#686425: unblock: mlt/0.8.0-4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package mlt

It adds two upstream patches - which are also available in 0.8.2 - to fix:

04-cache-memory-leak: Huge memory leak which could cause mlt to leak more than 8 GB
					  of memory
05-ladspa-crash: Potential crash with ladspa plugins enabled on dlclose()

--- mlt-0.8.0/debian/changelog  2012-07-28 13:44:26.000000000 +0200
+++ mlt-0.8.0/debian/changelog  2012-09-01 13:10:03.000000000 +0200
@@ -1,3 +1,12 @@
+mlt (0.8.0-4) unstable; urgency=low
+
+  * Add upstream patch 04-cache-memory-leak, which fixes a memory leak when
+    using mlt_cache for frames.
+  * Add upstream patch 05-ladspa-crash, which fixes a potential LADSPA crash
+    on dlclose().
+
+ -- Patrick Matthäi <pmatthaei@debian.org>  Sat, 01 Sep 2012 13:09:30 +0200
+
 mlt (0.8.0-3) unstable; urgency=low
 
   * Disable compression from the luma module on mips. The convert process never
diff -Nru mlt-0.8.0/debian/patches/04-cache-memory-leak.diff mlt-0.8.0/debian/patches/04-cache-memory-leak.diff
--- mlt-0.8.0/debian/patches/04-cache-memory-leak.diff  1970-01-01 01:00:00.000000000 +0100
+++ mlt-0.8.0/debian/patches/04-cache-memory-leak.diff  2012-09-01 13:10:03.000000000 +0200
@@ -0,0 +1,35 @@
+# Upstream patch to fix a memory leak when using mlt_cache for frames.
+
+diff -Naur mlt-0.8.0.orig/src/framework/mlt_cache.c mlt-0.8.0/src/framework/mlt_cache.c
+--- mlt-0.8.0.orig/src/framework/mlt_cache.c   2012-06-01 22:51:32.000000000 +0200
++++ mlt-0.8.0/src/framework/mlt_cache.c        2012-08-28 20:27:03.371711652 +0200
+@@ -83,6 +83,7 @@
+ {
+       int count;             /**< the number of items currently in the cache */
+       int size;              /**< the maximum number of items permitted in the cache <= \p MAX_CACHE_SIZE */
++      int is_frames;         /**< indicates if this cache is used to cache frames */
+       void* *current;        /**< pointer to the current array of pointers */
+       void* A[ MAX_CACHE_SIZE ];
+       void* B[ MAX_CACHE_SIZE ];
+@@ -122,6 +123,13 @@
+ {
+       char key[19];
+ 
++      if ( cache->is_frames )
++      {
++              // Frame caches are easy - just close the object as mlt_frame.
++              mlt_frame_close( object );
++              return;
++      }
++
+       // Fetch the cache item from the active list by its owner's address
+       sprintf( key, "%p", object );
+       mlt_cache_item item = mlt_properties_get_data( cache->active, key, NULL );
+@@ -554,6 +562,7 @@
+ 
+       // swap the current array
+       cache->current = (void**) alt;
++      cache->is_frames = 1;
+       pthread_mutex_unlock( &cache->mutex );
+ }
+ 
diff -Nru mlt-0.8.0/debian/patches/05-ladspa-crash.diff mlt-0.8.0/debian/patches/05-ladspa-crash.diff
--- mlt-0.8.0/debian/patches/05-ladspa-crash.diff       1970-01-01 01:00:00.000000000 +0100
+++ mlt-0.8.0/debian/patches/05-ladspa-crash.diff       2012-09-01 13:10:03.000000000 +0200
@@ -0,0 +1,14 @@
+# Upstream patch to fix some LADSPA crashing on dlclose on some systems.
+
+diff -Naur mlt-0.8.0.orig/src/modules/jackrack/plugin_mgr.c mlt-0.8.0/src/modules/jackrack/plugin_mgr.c
+--- mlt-0.8.0.orig/src/modules/jackrack/plugin_mgr.c   2012-06-01 22:51:32.000000000 +0200
++++ mlt-0.8.0/src/modules/jackrack/plugin_mgr.c        2012-08-28 20:32:35.782841105 +0200
+@@ -80,7 +80,7 @@
+   int err;
+   
+   /* open the object file */
+-  dl_handle = dlopen (filename, RTLD_LAZY);
++  dl_handle = dlopen (filename, RTLD_NOW);
+   if (!dl_handle)
+     {
+       mlt_log_info( NULL, "%s: error opening shared object file '%s': %s\n",
diff -Nru mlt-0.8.0/debian/patches/series mlt-0.8.0/debian/patches/series
--- mlt-0.8.0/debian/patches/series     2012-07-28 13:32:34.000000000 +0200
+++ mlt-0.8.0/debian/patches/series     2012-09-01 13:10:03.000000000 +0200
@@ -1,3 +1,5 @@
 01-changed-preset-path.diff
 02-allow-file-prefix.diff
 03-audio-limits-and-crash.diff
+04-cache-memory-leak.diff
+05-ladspa-crash.diff


unblock mlt/0.8.0-4

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: