projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
efb7ac3
)
ASoC: sgtl5000: use after free in ldo_regulator_register()
author
Dan Carpenter
<error27@gmail.com>
Tue, 8 Mar 2011 11:39:24 +0000
(14:39 +0300)
committer
Mark Brown
<broonie@opensource.wolfsonmicro.com>
Tue, 8 Mar 2011 18:57:24 +0000
(18:57 +0000)
The "ldo" variable was dereferenced after free on the error path.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/sgtl5000.c
patch
|
blob
|
blame
|
history
diff --git
a/sound/soc/codecs/sgtl5000.c
b/sound/soc/codecs/sgtl5000.c
index b7e97c02689874f1da2d826fd33856858720b364..1f7217f703ee60381deea291658e93f23949e01c 100644
(file)
--- a/
sound/soc/codecs/sgtl5000.c
+++ b/
sound/soc/codecs/sgtl5000.c
@@
-875,11
+875,13
@@
static int ldo_regulator_register(struct snd_soc_codec *codec,
ldo->dev = regulator_register(&ldo->desc, codec->dev,
init_data, ldo);
if (IS_ERR(ldo->dev)) {
+ int ret = PTR_ERR(ldo->dev);
+
dev_err(codec->dev, "failed to register regulator\n");
kfree(ldo->desc.name);
kfree(ldo);
- return
PTR_ERR(ldo->dev)
;
+ return
ret
;
}
return 0;