From ddf3308a56aed8d43135806da4cba77a29d395da Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 21 Jul 2020 20:01:00 +0200 Subject: [PATCH] Add patch to avoid crash when clearing metadata --- 0001-jack-handle-NULL-keys.patch | 29 +++++++++++++++++++++++++++++ pipewire.spec | 7 ++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 0001-jack-handle-NULL-keys.patch diff --git a/0001-jack-handle-NULL-keys.patch b/0001-jack-handle-NULL-keys.patch new file mode 100644 index 0000000..6e23f01 --- /dev/null +++ b/0001-jack-handle-NULL-keys.patch @@ -0,0 +1,29 @@ +From d4d80c16c1bf49ac4083466ce3e49ccfa8ff0599 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Tue, 21 Jul 2020 16:47:58 +0200 +Subject: [PATCH 1/3] jack: handle NULL keys + +--- + pipewire-jack/src/pipewire-jack.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c +index fa800344..6cb59f40 100644 +--- a/pipewire-jack/src/pipewire-jack.c ++++ b/pipewire-jack/src/pipewire-jack.c +@@ -1954,10 +1954,10 @@ static int metadata_property(void *object, uint32_t id, + uuid = jack_port_uuid_generate(id); + update_property(c, uuid, key, type, value); + +- if (strcmp(key, "default.audio.sink.name") == 0) { ++ if (key && strcmp(key, "default.audio.sink.name") == 0) { + free(c->metadata->default_audio_sink); + c->metadata->default_audio_sink = value ? strdup(value) : NULL; +- } else if (strcmp(key, "default.audio.source.name") == 0) { ++ } else if (key && strcmp(key, "default.audio.source.name") == 0) { + free(c->metadata->default_audio_source); + c->metadata->default_audio_source = value ? strdup(value) : NULL; + } +-- +2.26.2 + diff --git a/pipewire.spec b/pipewire.spec index 55eb2f4..bb7cf82 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -33,7 +33,7 @@ Name: pipewire Summary: Media Sharing Server Version: 0.3.7 -Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist} +Release: 2%{?snap:.%{snap}git%{shortcommit}}%{?dist} License: MIT URL: https://pipewire.org/ %if 0%{?gitrel} @@ -50,6 +50,7 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/p ## fedora patches Patch0: 0001-conf-disable-bluez5.patch +Patch1: 0001-jack-handle-NULL-keys.patch BuildRequires: meson >= 0.49.0 BuildRequires: gcc @@ -210,6 +211,7 @@ This package provides a PulseAudio implementation based on PipeWire %setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}} %patch0 -p1 -b .0000 +%patch1 -p1 -b .0001 %build %meson \ @@ -382,6 +384,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Tue Jul 21 2020 Wim Taymans - 0.3.7-2 +- Add patch to avoid crash when clearing metadata + * Tue Jul 21 2020 Wim Taymans - 0.3.7-1 - Update to 0.3.7