diff options
author | Colin Ian King <colin.king@canonical.com> | 2015-06-29 18:10:22 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-06-29 19:08:31 +0200 |
commit | 0755e74b8f04d17cea09fa342a788025b2b50e2e (patch) | |
tree | edb8d032ea6c474cbb78860bb3937f7b57244df2 /sound/core | |
parent | ALSA: hda: Delete an unnecessary check before the function call "snd_info_fre... (diff) | |
download | linux-0755e74b8f04d17cea09fa342a788025b2b50e2e.tar.xz linux-0755e74b8f04d17cea09fa342a788025b2b50e2e.zip |
ALSA: Fix uninintialized error return
Static analysis with cppcheck found the following error:
[sound/core/init.c:118]: (error) Uninitialized variable: err
..this was introduced by commit 2471b6c80a70e80de69f5ff4c37187c3912e5874
("ALSA: info: Register proc entries recursively, too") where the call
to snd_info_card_register was removed and no longer setting the error
return in err. When snd_info_create_card_entry fails to allocate a
an entry, the error path exits with garbage in err. Fix is to return
-ENOMEM if entry fails to be allocated.
Fixes: 2471b6c80a ("ALSA: info: Register proc entries recursively, too")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/init.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sound/core/init.c b/sound/core/init.c index 3e0cebacefe1..20f37fb3800e 100644 --- a/sound/core/init.c +++ b/sound/core/init.c @@ -109,13 +109,12 @@ static void snd_card_id_read(struct snd_info_entry *entry, static int init_info_for_card(struct snd_card *card) { - int err; struct snd_info_entry *entry; entry = snd_info_create_card_entry(card, "id", card->proc_root); if (!entry) { dev_dbg(card->dev, "unable to create card entry\n"); - return err; + return -ENOMEM; } entry->c.text.read = snd_card_id_read; card->proc_id = entry; |