ALSA: usb-audio: Fix OOB access at proc output

At extending the available mixer values for 32bit types, we forgot to
add the corresponding entries for the format dump in the proc output.
This may result in OOB access.  Here adds the missing entries.

Fixes: bc18e31c30 ("ALSA: usb-audio: Fix parameter block size for UAC2 control requests")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210622090647.14021-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2021-06-22 11:06:47 +02:00
Родитель 6c0a207813
Коммит 362372ceb6
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -3294,8 +3294,9 @@ static void snd_usb_mixer_dump_cval(struct snd_info_buffer *buffer,
struct usb_mixer_elem_list *list) struct usb_mixer_elem_list *list)
{ {
struct usb_mixer_elem_info *cval = mixer_elem_list_to_info(list); struct usb_mixer_elem_info *cval = mixer_elem_list_to_info(list);
static const char * const val_types[] = {"BOOLEAN", "INV_BOOLEAN", static const char * const val_types[] = {
"S8", "U8", "S16", "U16"}; "BOOLEAN", "INV_BOOLEAN", "S8", "U8", "S16", "U16", "S32", "U32",
};
snd_iprintf(buffer, " Info: id=%i, control=%i, cmask=0x%x, " snd_iprintf(buffer, " Info: id=%i, control=%i, cmask=0x%x, "
"channels=%i, type=\"%s\"\n", cval->head.id, "channels=%i, type=\"%s\"\n", cval->head.id,
cval->control, cval->cmask, cval->channels, cval->control, cval->cmask, cval->channels,