[alsa-lib] Avoid zero division

Check the invalid parameters in snd_pcm_sw_params() beforehand to avoid
zero division.
This commit is contained in:
Takashi Iwai 2004-09-17 17:36:18 +00:00
parent 3a8bfd43d7
commit 83a533d1a7

View file

@ -819,6 +819,8 @@ int snd_pcm_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t *params)
{
int err;
assert(pcm->setup); /* the hw_params must be set at first!!! */
if (! params->avail_min || ! params->xfer_align)
return -EINVAL;
if (params->start_threshold <= pcm->buffer_size &&
params->start_threshold > (pcm->buffer_size / params->avail_min) * params->avail_min) {
SNDERR("snd_pcm_sw_params: params->avail_min problem for start_threshold");