lkml.org 
[lkml]   [2018]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 106/136] ALSA: usb-audio: Fix potential zero-division at parsing FU
    3.16.54-rc1 review patch.  If anyone has any objections, please let me know.

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

    From: Takashi Iwai <tiwai@suse.de>

    commit 8428a8ebde2db1e988e41a58497a28beb7ce1705 upstream.

    parse_audio_feature_unit() contains a code dividing potentially with
    zero when a malformed FU descriptor is passed. Although there is
    already a sanity check, it checks only the value zero, hence it can
    still lead to a zero-division when a value 1 is passed there.

    Fix it by correcting the sanity check (and the error message
    thereof).

    Fixes: 23caaf19b11e ("ALSA: usb-mixer: Add support for Audio Class v2.0")
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    sound/usb/mixer.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/sound/usb/mixer.c
    +++ b/sound/usb/mixer.c
    @@ -1385,9 +1385,9 @@ static int parse_audio_feature_unit(stru
    return -EINVAL;
    }
    csize = hdr->bControlSize;
    - if (!csize) {
    + if (csize <= 1) {
    usb_audio_dbg(state->chip,
    - "unit %u: invalid bControlSize == 0\n",
    + "unit %u: invalid bControlSize <= 1\n",
    unitid);
    return -EINVAL;
    }
    \
     
     \ /
      Last update: 2018-02-11 05:52    [W:3.090 / U:0.704 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site