kernel-ark/sound/soc/codecs
Jean Delvare 3051e41ab7 ALSA: ASoC: Fix double free and memory leak in many codec drivers
Many SoC audio codec drivers have improper freeing of memory in error
paths.

* codec is allocated in the platform device probe function, but is not
  freed there in case of error. Instead it is freed in the i2c device
  probe function's error path. However the success or failure of both
  functions is not linked, so this could result in a double free (if
  the platform device is successfully probed, the i2c device probing
  fails and then the platform driver is unregistered.)

* codec->private_data is allocated in many platform device probe
  functions but not freed in their error paths.

This patch hopefully solves all these problems.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-25 13:49:52 +02:00
..
ac97.c ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
ac97.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
ak4535.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
ak4535.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
cs4270.c ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
cs4270.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
Kconfig ALSA: ASoC: Add AK4535 driver 2008-06-26 09:01:58 +02:00
Makefile ALSA: ASoC: Add AK4535 driver 2008-06-26 09:01:58 +02:00
tlv320aic3x.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
tlv320aic3x.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
uda1380.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
uda1380.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm8510.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
wm8510.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm8731.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
wm8731.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm8750.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
wm8750.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm8753.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
wm8753.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm8990.c ALSA: ASoC: Fix double free and memory leak in many codec drivers 2008-08-25 13:49:52 +02:00
wm8990.h ALSA: wm8990: Implement speaker volume PGA 2008-08-15 17:43:47 +02:00
wm9712.c ALSA: soc - wm9712 mono mixer 2008-07-20 17:39:38 +02:00
wm9712.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm9713.c ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm9713.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00