[ALSA] Fix possible invalid memory access in PCM core
snd_internval_list() may access invalid memory in the case count = 0 is given. It shouldn't be passed, but it'd better to make the code a bit more robust. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
committed by
Jaroslav Kysela
parent
bc7320c5c8
commit
0981a260a1
@@ -781,6 +781,11 @@ int snd_interval_list(struct snd_interval *i, unsigned int count, unsigned int *
|
|||||||
{
|
{
|
||||||
unsigned int k;
|
unsigned int k;
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
|
if (!count) {
|
||||||
|
i->empty = 1;
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
for (k = 0; k < count; k++) {
|
for (k = 0; k < count; k++) {
|
||||||
if (mask && !(mask & (1 << k)))
|
if (mask && !(mask & (1 << k)))
|
||||||
continue;
|
continue;
|
||||||
|
Reference in New Issue
Block a user