[alsa-devel] [PATCH] ALSA: Fix uninintialized error return
Colin Ian King
colin.king at canonical.com
Tue Jun 30 08:22:41 CEST 2015
On 29/06/15 18:10, Takashi Iwai wrote:
> At Mon, 29 Jun 2015 17:10:22 +0100,
> Colin King wrote:
>>
>> From: Colin Ian King <colin.king at canonical.com>
>>
>> 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.
>>
>> Author: Takashi Iwai <tiwai at suse.de>
>> Date: Mon May 18 09:20:24 2015 +0200
>
> These two lines seem superfluous. I removed them and applied the
> patch now. Thanks.
>
Thanks, somehow I missed that cut-n-paste mistake.
>
> Takashi
>
>>
>> Fixes: 2471b6c80a ("ALSA: info: Register proc entries recursively, too")
>> Signed-off-by: Colin Ian King <colin.king at canonical.com>
>> ---
>> sound/core/init.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/sound/core/init.c b/sound/core/init.c
>> index 3e0ceba..20f37fb 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;
>> --
>> 2.1.4
>>
More information about the Alsa-devel
mailing list