ALSA: Don't leak in sound/core/oss/pcm_oss.c::snd_pcm_hw_param_near()
Jesper Juhl [Thu, 6 Jan 2011 21:19:47 +0000 (22:19 +0100)]
snd_pcm_hw_param_near() will leak the memory allocated to 'save' if the
call to snd_pcm_hw_param_max() returns less than zero.
This patch makes sure we never leak.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

sound/core/oss/pcm_oss.c

index b753ec6..a2e4eb3 100644 (file)
@@ -453,8 +453,10 @@ static int snd_pcm_hw_param_near(struct snd_pcm_substream *pcm,
        } else {
                *params = *save;
                max = snd_pcm_hw_param_max(pcm, params, var, max, &maxdir);
-               if (max < 0)
+               if (max < 0) {
+                       kfree(save);
                        return max;
+               }
                last = 1;
        }
  _end: