From: Takashi Iwai Date: Thu, 21 May 2015 05:26:39 +0000 (+0200) Subject: pcm: Remove assert() from snd_pcm_hw_params_slave() X-Git-Tag: v1.1.0~73 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=67f73b0fab466e780dcc0442e19894a1cbedc43b;p=alsa-lib.git pcm: Remove assert() from snd_pcm_hw_params_slave() Using assert() for non-fatal error checks is really brain-dead. These are especially bad, as it hits even in the normal operation with plugins and some h/w constraints. Reported-by: Alan Horstmann Signed-off-by: Takashi Iwai --- diff --git a/src/pcm/pcm_params.c b/src/pcm/pcm_params.c index 6e57904e..1d667a58 100644 --- a/src/pcm/pcm_params.c +++ b/src/pcm/pcm_params.c @@ -2244,9 +2244,11 @@ int snd_pcm_hw_params_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_hw_params_t slave_params; int err; err = sprepare(pcm, &slave_params); - assert(err >= 0); + if (err < 0) + return err; err = schange(pcm, params, &slave_params); - assert(err >= 0); + if (err < 0) + return err; err = sparams(pcm, &slave_params); if (err < 0) cchange(pcm, params, &slave_params);