mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-12-17 08:56:45 -05:00
[alsa-lib] Avoid zero division
Check the invalid parameters in snd_pcm_sw_params() beforehand to avoid zero division.
This commit is contained in:
parent
3a8bfd43d7
commit
83a533d1a7
1 changed files with 2 additions and 0 deletions
|
|
@ -819,6 +819,8 @@ int snd_pcm_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t *params)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
assert(pcm->setup); /* the hw_params must be set at first!!! */
|
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 &&
|
if (params->start_threshold <= pcm->buffer_size &&
|
||||||
params->start_threshold > (pcm->buffer_size / params->avail_min) * params->avail_min) {
|
params->start_threshold > (pcm->buffer_size / params->avail_min) * params->avail_min) {
|
||||||
SNDERR("snd_pcm_sw_params: params->avail_min problem for start_threshold");
|
SNDERR("snd_pcm_sw_params: params->avail_min problem for start_threshold");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue