From bef0fa3efbf44cffcd903e747e7a7f916502dc7d Mon Sep 17 00:00:00 2001 From: Michael Schwendt Date: Feb 15 2010 13:40:04 +0000 Subject: - Patch out the tuple/mowgli refcounting in the scrobbler plugin worker thread and use tuple_copy() instead. Let's see whether that will crash, too (see comment in -22). --- diff --git a/audacious-plugins-2.2-scrobbler.patch b/audacious-plugins-2.2-scrobbler.patch new file mode 100644 index 0000000..734eae7 --- /dev/null +++ b/audacious-plugins-2.2-scrobbler.patch @@ -0,0 +1,31 @@ +diff -Nur audacious-plugins-2.2-orig/src/scrobbler/plugin.c audacious-plugins-2.2-scrobbler/src/scrobbler/plugin.c +--- audacious-plugins-2.2-orig/src/scrobbler/plugin.c 2009-11-22 23:49:53.000000000 +0100 ++++ audacious-plugins-2.2-scrobbler/src/scrobbler/plugin.c 2010-02-15 14:25:48.000000000 +0100 +@@ -253,16 +253,15 @@ + + playlist = aud_playlist_get_active(); + pos = aud_playlist_get_position(playlist); +- tuple = (Tuple*) aud_playlist_entry_get_tuple(playlist, pos); ++ tuple = tuple_copy( (Tuple*) aud_playlist_entry_get_tuple(playlist, pos) ); + + if (tuple == NULL) + continue; + +- mowgli_object_ref(tuple); + + if (ishttp(aud_tuple_get_string(tuple, FIELD_FILE_NAME, NULL))) + { +- mowgli_object_unref(tuple); ++ tuple_free(tuple); + continue; + } + +@@ -285,7 +284,7 @@ + pdebug("tuple does not contain an artist or a title, not submitting.", DEBUG); + + submit = FALSE; +- mowgli_object_unref(tuple); ++ tuple_free(tuple); + } + + g_get_current_time(&sleeptime); diff --git a/audacious-plugins.spec b/audacious-plugins.spec index d6b5128..a60edb9 100644 --- a/audacious-plugins.spec +++ b/audacious-plugins.spec @@ -5,7 +5,7 @@ Name: audacious-plugins Version: 2.2 -Release: 21%{?dist} +Release: 23%{?dist} Summary: Plugins for the Audacious media player Group: Applications/Multimedia URL: http://audacious-media-player.org/ @@ -51,12 +51,14 @@ Patch11: audacious-plugins-2.2-streambrowser-race.patch # plus: hardcoded libdir replacement # plus: fix dialogs (merged upstream) Patch12: audacious-plugins-2.2-ladspa.patch -# +# merged upstream (request destroy+NULL only, the important half) Patch13: audacious-plugins-2.2-neon-error-handling.patch # revised version merged upstream Patch14: audacious-plugins-2.2-tmp-vuln.patch # Patch15: audacious-plugins-2.2-streambrowser-url-add.patch +# +Patch16: audacious-plugins-2.2-scrobbler.patch BuildRequires: audacious-devel >= %{aud_ver} BuildRequires: jack-audio-connection-kit-devel libsamplerate-devel @@ -202,6 +204,7 @@ in Vortex (.vtx) format. %patch13 -p1 -b .neon-error-handling %patch14 -p1 -b .tmp-vuln %patch15 -p1 -b .streambrowser-url-add +%patch16 -p1 -b .scrobbler for i in src/ladspa/ladspa.c do @@ -302,11 +305,21 @@ update-desktop-database &> /dev/null || : %changelog +* Mon Feb 15 2010 Michael Schwendt - 2.2-23 +- Patch out the tuple/mowgli refcounting in the scrobbler plugin + worker thread and use tuple_copy() instead. Let's see whether that + will crash, too (see comment in -22). + +* Mon Feb 8 2010 Michael Schwendt - 2.2-22 +- Remove scrobbler plugin, since upstream has disabled it by default + in the post-2.2 tree, because it is believed to cause memory corruption + that crashes Audacious: http://jira.atheme.org/browse/AUDPLUG-179 + * Sat Feb 6 2010 Michael Schwendt - 2.2-21 - Fix streambrowser streaminfo URL Add. * Sat Feb 6 2010 Michael Schwendt - 2.2-20 -- Use the John Lindgren's revised patch for the temp file vuln +- Use John Lindgren's revised patch for the fix in -19 (which properly frees also the g_build_filename allocated string). * Fri Feb 5 2010 Michael Schwendt - 2.2-19