From 5a186ece0123491a68af3538972ad4abfa91cfb1 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 28 May 2021 11:38:02 +0200 Subject: [PATCH] alsa: handle plugin errors better When the plugins can't be loaded, we fail to make a main_loop. Handle this case instead of segfaulting. See #1239 --- pipewire-alsa/alsa-plugins/pcm_pipewire.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pipewire-alsa/alsa-plugins/pcm_pipewire.c b/pipewire-alsa/alsa-plugins/pcm_pipewire.c index e046c2496..907e26f2a 100644 --- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c +++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c @@ -1015,6 +1015,10 @@ static int snd_pcm_pipewire_open(snd_pcm_t **pcmp, const char *name, } pw->main_loop = pw_thread_loop_new("alsa-pipewire", NULL); + if (pw->main_loop == NULL) { + err = -errno; + goto error; + } loop = pw_thread_loop_get_loop(pw->main_loop); pw->system = loop->system; if ((pw->context = pw_context_new(loop, NULL, 0)) == NULL) {