]> git.alsa-project.org Git - alsa-lib.git/commitdiff
[alsa-lib] Avoid zero division
authorTakashi Iwai <tiwai@suse.de>
Fri, 17 Sep 2004 17:36:18 +0000 (17:36 +0000)
committerTakashi Iwai <tiwai@suse.de>
Fri, 17 Sep 2004 17:36:18 +0000 (17:36 +0000)
Check the invalid parameters in snd_pcm_sw_params() beforehand to avoid
zero division.

src/pcm/pcm.c

index 8d7acf35693a777b936c8e3aa0bef144163221fe..aaab6c6b41670beab00437f76d61a999d1c6e430 100644 (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");