summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-01-15 17:42:15 +0100
committerTakashi Iwai <tiwai@suse.de>2013-01-15 17:42:15 +0100
commit549e8292a1e7712d401cc8b8df88286cdfff9f08 (patch)
tree76d2f9968b38a15d308d5db040a6378a7f09fad6
parentALSA: hda/ca0132 - Fix another smatch warning (diff)
downloadlinux-549e8292a1e7712d401cc8b8df88286cdfff9f08.tar.xz
linux-549e8292a1e7712d401cc8b8df88286cdfff9f08.zip
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>
-rw-r--r--sound/pci/hda/patch_ca0132.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index f6c949039cab..ee2b9c6600ff 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -2416,15 +2416,13 @@ static int dspxfr_image(struct hda_codec *codec,
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;