]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ALSA: hda - Fix possible NULL dereference
authorTakashi Iwai <tiwai@suse.de>
Tue, 4 Nov 2008 07:43:08 +0000 (08:43 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 4 Nov 2008 07:43:08 +0000 (08:43 +0100)
Add NULL-check of the return value of snd_kctl_new1() before
accessing it.  Also, make a sanity NULL check to snd_BUG_ON()
for debugging only.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c

index 8991db78fb6775bfa57df13a37899e0da4588a89..aa9cd142c30a62e22f1cb9481d890e6e714fb395 100644 (file)
@@ -1697,6 +1697,8 @@ int snd_hda_create_spdif_out_ctls(struct hda_codec *codec, hda_nid_t nid)
        }
        for (dig_mix = dig_mixes; dig_mix->name; dig_mix++) {
                kctl = snd_ctl_new1(dig_mix, codec);
+               if (!kctl)
+                       return -ENOMEM;
                kctl->id.index = idx;
                kctl->private_value = nid;
                err = snd_hda_ctl_add(codec, kctl);
@@ -2412,7 +2414,7 @@ snd_hda_attach_pcm(struct hda_codec *codec, struct hda_pcm *pcm)
        struct hda_pcm_stream *info;
        int stream, err;
 
-       if (!pcm->name)
+       if (snd_BUG_ON(!pcm->name))
                return -EINVAL;
        for (stream = 0; stream < 2; stream++) {
                info = &pcm->stream[stream];