lkml.org 
[lkml]   [2019]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 75/88] ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Hui Peng <benquike@163.com>

    commit cbb2ebf70daf7f7d97d3811a2ff8e39655b8c184 upstream.

    In `create_composite_quirk`, the terminating condition of for loops is
    `quirk->ifnum < 0`. So any composite quirks should end with `struct
    snd_usb_audio_quirk` object with ifnum < 0.

    for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) {

    .....
    }

    the data field of Bower's & Wilkins PX headphones usb device device quirks
    do not end with {.ifnum = -1}, wihch may result in out-of-bound read.

    This Patch fix the bug by adding an ending quirk object.

    Fixes: 240a8af929c7 ("ALSA: usb-audio: Add a quirck for B&W PX headphones")
    Signed-off-by: Hui Peng <benquike@163.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/usb/quirks-table.h | 3 +++
    1 file changed, 3 insertions(+)

    --- a/sound/usb/quirks-table.h
    +++ b/sound/usb/quirks-table.h
    @@ -3321,6 +3321,9 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge
    }
    }
    },
    + {
    + .ifnum = -1
    + },
    }
    }
    },

    \
     
     \ /
      Last update: 2019-01-11 15:23    [W:3.561 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site