diff --git a/SOURCES/fix-crashes-in-pulseaudio.patch b/SOURCES/fix-crashes-in-pulseaudio.patch new file mode 100644 index 0000000..4803bba --- /dev/null +++ b/SOURCES/fix-crashes-in-pulseaudio.patch @@ -0,0 +1,32 @@ +From fe2a549e5d6dd9352a6d14c1d0d45a5c263c5d06 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 11 Jun 2015 13:25:35 +0200 +Subject: [PATCH] rdpsnd/pulse: Fix crashes in pulseaudio + +Function pa_stream_trigger has to be called under lock to avoid +following crashes on asserts: + +Assertion 'e->mainloop->n_enabled_defer_events > 0' failed at pulse/mainloop.c:257, function mainloop_defer_enable(). Aborting. +Assertion '!e->next' failed at pulsecore/queue.c:104, function pa_queue_pop(). Aborting. +Assertion 'q->front' failed at pulsecore/queue.c:81, function pa_queue_push(). Aborting. +--- + channels/rdpsnd/pulse/rdpsnd_pulse.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/channels/rdpsnd/pulse/rdpsnd_pulse.c b/channels/rdpsnd/pulse/rdpsnd_pulse.c +index 1a331f0..0fcedef 100644 +--- a/channels/rdpsnd/pulse/rdpsnd_pulse.c ++++ b/channels/rdpsnd/pulse/rdpsnd_pulse.c +@@ -452,7 +452,9 @@ static void rdpsnd_pulse_start(rdpsndDevicePlugin* device) + if (!pulse->stream) + return; + ++ pa_threaded_mainloop_lock(pulse->mainloop); + pa_stream_trigger(pulse->stream, NULL, NULL); ++ pa_threaded_mainloop_unlock(pulse->mainloop); + } + + int FreeRDPRdpsndDeviceEntry(PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints) +-- +2.5.0 + diff --git a/SPECS/freerdp.spec b/SPECS/freerdp.spec index 3893d1a..cfaadbc 100644 --- a/SPECS/freerdp.spec +++ b/SPECS/freerdp.spec @@ -1,6 +1,6 @@ Name: freerdp Version: 1.0.2 -Release: 5%{?dist}.1 +Release: 6%{?dist}.1 Summary: Remote Desktop Protocol client Group: Applications/Communications @@ -32,9 +32,12 @@ Patch0: 0001-xfreerdp.1.xml-Don-t-claim-to-support-multiple-conne.patch Patch1: 0002-Replace-itemizedlist-s-with-variablelist-s.patch Patch2: 0003-List-plugins-available-in-RHEL-6.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1203124 +# https://bugzilla.redhat.com/show_bug.cgi?id=1186916 Patch3: libfreerdp-core-fix-issue-436.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1296654 +Patch4: fix-crashes-in-pulseaudio.patch + %description The xfreerdp Remote Desktop Protocol (RDP) client from the FreeRDP project. @@ -84,6 +87,7 @@ developing applications that use %{name}-libs. %patch1 -p1 %patch2 -p1 %patch3 -p1 -b .fix-invalid-dereference +%patch4 -p1 -b .fix-crashes-in-pulseaudio cat << EOF > xfreerdp.desktop [Desktop Entry] @@ -173,9 +177,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog -* Thu Mar 19 2015 Ondrej Holy - 1.0.2-5.el7_1.1 +* Fri Jan 15 2016 Ondrej Holy - 1.0.2-6.el7_2.1 +- Fix crashes in pulseaudio +- Resolves: #1298832 + +* Thu Mar 19 2015 Ondrej Holy - 1.0.2-6 - Fix crash during CA verification caused by invalid pointer dereference -- Resolves: #1203124 +- Resolves: #1186916 * Fri Jan 24 2014 Daniel Mach - 1.0.2-5 - Mass rebuild 2014-01-24