21 Nov
2018
21 Nov
'18
11:02 a.m.
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@birdec.tech
Applied, thanks.
Takashi