lkml.org 
[lkml]   [2016]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.8 062/125] ASoC: dapm: Fix possible uninitialized variable in snd_soc_dapm_get_volsw()
    Date
    4.8-stable review patch.  If anyone has any objections, please let me know.

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

    From: Chen-Yu Tsai <wens@csie.org>

    commit 01ad5e7de67b408d9b48b437b06a9938ddf460b5 upstream.

    If soc_dapm_read() fails, val will be uninitialized, and bogus values
    will be written later:

    ret = soc_dapm_read(dapm, reg, &val);
    val = (val >> shift) & mask;

    However, the compiler does not give a warning. Return on error before
    val is really used to avoid this.

    This is similar to the commit 6912831623c5 ("ASoC: dapm: Fix
    uninitialized variable in snd_soc_dapm_get_enum_double()")

    Fixes: ce0fc93ae56e (ASoC: Add DAPM support at the component level)
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/soc/soc-dapm.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/sound/soc/soc-dapm.c
    +++ b/sound/soc/soc-dapm.c
    @@ -3049,6 +3049,9 @@ int snd_soc_dapm_get_volsw(struct snd_kc
    }
    mutex_unlock(&card->dapm_mutex);

    + if (ret)
    + return ret;
    +
    if (invert)
    ucontrol->value.integer.value[0] = max - val;
    else

    \
     
     \ /
      Last update: 2016-10-29 16:11    [W:2.620 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site