From: Jaroslav Kysela Date: Tue, 16 May 2023 06:57:31 +0000 (+0200) Subject: pcm: hw - prevent divide by zero for broken apps X-Git-Tag: v1.2.10~50 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=3661bdae35961e4a4dd67a60682550e30b878207;p=alsa-lib.git pcm: hw - prevent divide by zero for broken apps Fixes: https://github.com/alsa-project/alsa-lib/issues/318 Signed-off-by: Jaroslav Kysela --- diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c index 8ffebed9..26ff62c2 100644 --- a/src/pcm/pcm_hw.c +++ b/src/pcm/pcm_hw.c @@ -742,6 +742,9 @@ static int snd_pcm_hw_drain(snd_pcm_t *pcm) if (pcm->stream != SND_PCM_STREAM_PLAYBACK) goto __skip_silence; + /* stream probably in SETUP, prevent divide by zero */ + if (pcm->period_size == 0) + goto __skip_silence; if (hw->drain_silence == 0 || hw->perfect_drain) goto __skip_silence; snd_pcm_sw_params_current_no_lock(pcm, &sw_params);