ASoC: Max98095: Move existing NULL check before pointer dereference.
authorTaylor Hutt <thutt@chromium.org>
Wed, 18 May 2011 01:03:54 +0000 (18:03 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 18 May 2011 16:33:27 +0000 (09:33 -0700)
Visual inspection shows that max98095_put_eq_enum() and
max98095_put_bq_enum() each have a possible NULL deref of 'pdata'.

This change moves the NULL check above the use.

Signed-off-by: Taylor Hutt <thutt@chromium.org>
Acked-by: Peter Hsiang <Peter.Hsiang@maxim-ic.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/max98095.c

index a6cc94e1750b7b8136acfcf5b1e0079e61187740..e1d282d477da0f86d895e23deb41f4bec965b5c2 100644 (file)
@@ -1872,16 +1872,14 @@ static int max98095_put_eq_enum(struct snd_kcontrol *kcontrol,
 
        BUG_ON(channel > 1);
 
-       cdata = &max98095->dai[channel];
+       if (!pdata || !max98095->eq_textcnt)
+               return 0;
 
        if (sel >= pdata->eq_cfgcnt)
                return -EINVAL;
 
+       cdata = &max98095->dai[channel];
        cdata->eq_sel = sel;
-
-       if (!pdata || !max98095->eq_textcnt)
-               return 0;
-
        fs = cdata->rate;
 
        /* Find the selected configuration with nearest sample rate */
@@ -2020,16 +2018,14 @@ static int max98095_put_bq_enum(struct snd_kcontrol *kcontrol,
 
        BUG_ON(channel > 1);
 
-       cdata = &max98095->dai[channel];
+       if (!pdata || !max98095->bq_textcnt)
+               return 0;
 
        if (sel >= pdata->bq_cfgcnt)
                return -EINVAL;
 
+       cdata = &max98095->dai[channel];
        cdata->bq_sel = sel;
-
-       if (!pdata || !max98095->bq_textcnt)
-               return 0;
-
        fs = cdata->rate;
 
        /* Find the selected configuration with nearest sample rate */