summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm5100.c
diff options
context:
space:
mode:
authorJesper Juhl <jj@chaosbits.net>2012-01-23 22:28:44 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-24 12:34:19 +0100
commitc83f1d7e71625801c72f4013291194e09b6f0a6e (patch)
tree1bf7303f85769c1a60e95d697ed7a7ab02c44b0d /sound/soc/codecs/wm5100.c
parentASoC: wm8958: Use correct format string in dev_err() call (diff)
downloadlinux-c83f1d7e71625801c72f4013291194e09b6f0a6e.tar.xz
linux-c83f1d7e71625801c72f4013291194e09b6f0a6e.zip
ASoC: wm2000: Fix use-after-free - don't release_firmware() twice on error
In wm2000_i2c_probe(), if we take the true branch in " ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_wm2000, NULL, 0); if (ret != 0) goto err_fw; " then we'll release_firmware(fw) at the 'err_fw' label. But we've already done that just a few lines above. That's a use-after-free bug. This patch restructures the code so that we always call release_firmware(fw) before leaving the function, but only ever call it once. This means that we have to initialize 'fw' to NULL since some paths may now end up calling it without having called request_firmware(), but since request_firmware() deals gracefully with NULL pointers, we are fine if we just NULL initialize it. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm5100.c')
0 files changed, 0 insertions, 0 deletions