浏览代码

ALSA: hda - Missing NULL check in hda_beep.c

Added a NULL check of input_allocate_device() in hda_beep.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 16 年之前
父节点
当前提交
6a12afb564
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      sound/pci/hda/hda_beep.c

+ 4 - 0
sound/pci/hda/hda_beep.c

@@ -88,6 +88,10 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid)
 	snprintf(beep->phys, sizeof(beep->phys),
 	snprintf(beep->phys, sizeof(beep->phys),
 		"card%d/codec#%d/beep0", codec->bus->card->number, codec->addr);
 		"card%d/codec#%d/beep0", codec->bus->card->number, codec->addr);
 	input_dev = input_allocate_device();
 	input_dev = input_allocate_device();
+	if (!input_dev) {
+		kfree(beep);
+		return -ENOMEM;
+	}
 
 
 	/* setup digital beep device */
 	/* setup digital beep device */
 	input_dev->name = "HDA Digital PCBeep";
 	input_dev->name = "HDA Digital PCBeep";