[alsa-devel] [PATCH alsa-lib] pcm_dshare: Fix segfault when not binding channel 0
Takashi Iwai
tiwai at suse.de
Wed Nov 21 11:02:12 CET 2018
On Tue, 20 Nov 2018 21:43:44 +0100,
Kirill Marinushkin wrote:
>
> Configuration to reproduce:
>
> ~~~~
> pcm.share_right {
> type dshare
> ipc_key 73
> ipc_perm 0666
> slave {
> pcm "hw:0,0"
> }
> bindings {
> # the seagfault happens when we don't bind channel 0
> 1 1
> }
> }
> ~~~~
>
> Execute to reproduce:
>
> ~~~~
> $ aplay -D plug:share_right test.wav
> Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
> Segmentation fault
> ~~~~
>
> For channels whithout binding, values are set to UINT_MAX in function
> `snd_pcm_direct_parse_bindings()`:
>
> ~~~~
> for (chn = 0; chn < count; chn++)
> bindings[chn] = UINT_MAX; /* don't route */
> ~~~~
>
> But, these values are not checked when playing, which causes the segfault.
>
> This commit fixes the issue.
>
> Signed-off-by: Kirill Marinushkin <kmarinushkin at birdec.tech>
Applied, thanks.
Takashi
More information about the Alsa-devel
mailing list