From 79cb1369fc4d22966cb65253e9da2ccda2f25b45 Mon Sep 17 00:00:00 2001 From: "Igor V. Kovalenko" Date: Mon, 7 Jun 2021 08:53:24 +0300 Subject: [PATCH] alsa-mixer: check if mapping is NULL before using it Fix Debian bullseye bug where adding this line makes pulseaudio crash on startup `load-module module-alsa-sink device=hw:1,0 control=Wave` See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989103 Fixes: dacfcbb09 ("alsa-ucm: use the proper mixer name for ucm pcm sink/source") Part-of: --- src/modules/alsa/alsa-sink.c | 3 ++- src/modules/alsa/alsa-source.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index 17a4b11..70b9230 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -2113,7 +2113,8 @@ static void find_mixer(struct userdata *u, pa_alsa_mapping *mapping, const char u->mixers = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL, (pa_free_cb_t) pa_alsa_mixer_free); - mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device"); + if (mapping) + mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device"); if (mdev) { u->mixer_handle = pa_alsa_open_mixer_by_name(u->mixers, mdev, true); } else { diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index 76370f8..083f928 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -1813,7 +1813,8 @@ static void find_mixer(struct userdata *u, pa_alsa_mapping *mapping, const char u->mixers = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL, (pa_free_cb_t) pa_alsa_mixer_free); - mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device"); + if (mapping) + mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device"); if (mdev) { u->mixer_handle = pa_alsa_open_mixer_by_name(u->mixers, mdev, false); } else { -- 2.7.4