diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-01-15 17:42:15 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-01-15 17:42:15 +0100 |
commit | 549e8292a1e7712d401cc8b8df88286cdfff9f08 (patch) | |
tree | 76d2f9968b38a15d308d5db040a6378a7f09fad6 /sound/pci/hda/patch_ca0132.c | |
parent | 425a7880e804f6147b520aecee522e4172c98e83 (diff) |
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>
Diffstat (limited to 'sound/pci/hda/patch_ca0132.c')
-rw-r--r-- | sound/pci/hda/patch_ca0132.c | 10 |
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; |