ASoC: sgtl5000: use after free in ldo_regulator_register()

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>

authored by

Dan Carpenter and committed by
Mark Brown
62f75aaf efb7ac3f

+3 -1
+3 -1
sound/soc/codecs/sgtl5000.c
··· 875 875 ldo->dev = regulator_register(&ldo->desc, codec->dev, 876 876 init_data, ldo); 877 877 if (IS_ERR(ldo->dev)) { 878 + int ret = PTR_ERR(ldo->dev); 879 + 878 880 dev_err(codec->dev, "failed to register regulator\n"); 879 881 kfree(ldo->desc.name); 880 882 kfree(ldo); 881 883 882 - return PTR_ERR(ldo->dev); 884 + return ret; 883 885 } 884 886 885 887 return 0;