Commit 282572b5 authored by Dan Carpenter's avatar Dan Carpenter Committed by Takashi Iwai

ALSA: riptide: clean up while loop

If getpaths() returned an odd number this would be a buffer under-run and an
endless loop.  It turns out that getpaths() can only return even numbers, but
let's make it easy for people auditing code.  With the new code you don't
need to look at getpaths().

This silences a smatch warning.
Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent e61e642c
...@@ -1974,9 +1974,9 @@ snd_riptide_proc_read(struct snd_info_entry *entry, ...@@ -1974,9 +1974,9 @@ snd_riptide_proc_read(struct snd_info_entry *entry,
} }
snd_iprintf(buffer, "Paths:\n"); snd_iprintf(buffer, "Paths:\n");
i = getpaths(cif, p); i = getpaths(cif, p);
while (i--) { while (i >= 2) {
snd_iprintf(buffer, "%x->%x ", p[i - 1], p[i]); i -= 2;
i--; snd_iprintf(buffer, "%x->%x ", p[i], p[i + 1]);
} }
snd_iprintf(buffer, "\n"); snd_iprintf(buffer, "\n");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment