ALSA: hda/ca0132 - Fix possible NULL dereference
Spotted by smatch,
sound/pci/hda/patch_ca0132.c:1950 dspxfr_image() error: potential
null dereference 'dma_engine'. (kzalloc returns null)
sound/pci/hda/patch_ca0132.c:1950 dspxfr_image() error: we
previously assumed 'dma_engine' could be null (see line 1857)
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index f6c9490..ee2b9c6 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -2416,15 +2416,13 @@
return -EINVAL;
dma_engine = kzalloc(sizeof(*dma_engine), GFP_KERNEL);
- if (!dma_engine) {
- status = -ENOMEM;
- goto exit;
- }
+ if (!dma_engine)
+ return -ENOMEM;
dma_engine->dmab = kzalloc(sizeof(*dma_engine->dmab), GFP_KERNEL);
if (!dma_engine->dmab) {
- status = -ENOMEM;
- goto exit;
+ kfree(dma_engine);
+ return -ENOMEM;
}
dma_engine->codec = codec;