[pulseaudio-commits] src/modules

Tanu Kaskinen tanuk at kemper.freedesktop.org
Tue Jan 31 13:59:54 UTC 2017


 src/modules/alsa/alsa-util.c |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit ca6c3f80f50f3b1d1f33c7700dbc60652c1b8aed
Author: Tanu Kaskinen <tanuk at iki.fi>
Date:   Sat Jan 28 18:08:24 2017 +0200

    alsa-util: don't crash on devices with more than 32 channels
    
    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
    
    Reviewed-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
    Tested-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>

diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index 63d370f..61fb490 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



More information about the pulseaudio-commits mailing list