[pulseaudio-discuss] [PATCH] alsa-util: don't crash on devices with more than 32 channels
Tanu Kaskinen
tanuk at iki.fi
Sat Jan 28 16:08:24 UTC 2017
The pa_channel_map_init_extend() call later in the function crashes if
if ss->channels is greater than PA_CHANNELS_MAX.
Reported here:
https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-January/027404.html
---
src/modules/alsa/alsa-util.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index 63d370f52..61fb4903c 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -747,6 +747,13 @@ snd_pcm_t *pa_alsa_open_by_device_string(
goto fail;
}
+ if (ss->channels > PA_CHANNELS_MAX) {
+ pa_log("Device %s has %u channels, but PulseAudio supports only %u channels. Unable to use the device.",
+ d, ss->channels, PA_CHANNELS_MAX);
+ snd_pcm_close(pcm_handle);
+ goto fail;
+ }
+
if (dev)
*dev = d;
else
--
2.11.0
More information about the pulseaudio-discuss
mailing list