diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2006-01-22 04:19:51 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2006-01-22 04:19:51 +0800 |
commit | 3dafef5b0f849ce561f0d775d6e1246d813e6660 (patch) | |
tree | 86b81f975dc22188866e051cfdeb101ced0652ed | |
parent | 44c17eb452c19b9ae00be528f8d877e7c6af3628 (diff) | |
download | marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.tar marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.tar.gz marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.tar.bz2 marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.tar.lz marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.tar.xz marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.tar.zst marcuscom-ports-3dafef5b0f849ce561f0d775d6e1246d813e6660.zip |
Fix a crash that can occur because of a double-free when running
gst-inspect -a.
Obtained from: GStreamer CVS
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@5495 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r-- | multimedia/gstreamer/Makefile | 2 | ||||
-rw-r--r-- | multimedia/gstreamer/files/patch-fix-gst-inspect-crash | 39 |
2 files changed, 40 insertions, 1 deletions
diff --git a/multimedia/gstreamer/Makefile b/multimedia/gstreamer/Makefile index 12acaf9e7..1984344ac 100644 --- a/multimedia/gstreamer/Makefile +++ b/multimedia/gstreamer/Makefile @@ -7,7 +7,7 @@ PORTNAME= gstreamer PORTVERSION= 0.10.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= multimedia MASTER_SITES= ${MASTER_SITE_GNOME} \ http://gstreamer.freedesktop.org/src/gstreamer/ diff --git a/multimedia/gstreamer/files/patch-fix-gst-inspect-crash b/multimedia/gstreamer/files/patch-fix-gst-inspect-crash new file mode 100644 index 000000000..fd2676145 --- /dev/null +++ b/multimedia/gstreamer/files/patch-fix-gst-inspect-crash @@ -0,0 +1,39 @@ +--- gst/gstregistry.c.orig Sat Jan 21 15:10:24 2006 ++++ gst/gstregistry.c Sat Jan 21 15:13:07 2006 +@@ -838,6 +838,8 @@ _gst_registry_remove_cache_plugins (GstR + GList *g_next; + GstPlugin *plugin; + ++ GST_OBJECT_LOCK (registry); ++ + GST_DEBUG_OBJECT (registry, "removing cached plugins"); + g = registry->plugins; + while (g) { +@@ -851,6 +853,8 @@ _gst_registry_remove_cache_plugins (GstR + } + g = g_next; + } ++ ++ GST_OBJECT_UNLOCK (registry); + } + + +--- tools/gst-inspect.c.orig Sat Jan 21 15:14:01 2006 ++++ tools/gst-inspect.c Sat Jan 21 15:14:19 2006 +@@ -1093,8 +1093,6 @@ print_element_info (GstElementFactory * + print_signal_info (element); + print_children_info (element); + +- gst_object_unref (factory); +- + if (_name[0] != '\0') + g_free (_name); + +@@ -1147,6 +1145,7 @@ main (int argc, char *argv[]) + /* if there's a factory, print out the info */ + if (factory) { + retval = print_element_info (factory, print_all); ++ gst_object_unref (factory); + } else { + retval = print_element_features (arg); + } |