ALSA: synth: missing check for possible NULL after the call to kstrdup
authorAustin Kim <austin.kim@lge.com>
Tue, 9 Nov 2021 00:37:42 +0000 (00:37 +0000)
committerTakashi Iwai <tiwai@suse.de>
Tue, 9 Nov 2021 06:18:50 +0000 (07:18 +0100)
If kcalloc() return NULL due to memory starvation, it is possible for
kstrdup() to return NULL in similar case. So add null check after the call
to kstrdup() is made.

[ minor coding-style fix by tiwai ]

Signed-off-by: Austin Kim <austin.kim@lge.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20211109003742.GA5423@raspberrypi
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/synth/emux/emux.c

index 49d1976..5ed8e36 100644 (file)
@@ -88,7 +88,7 @@ int snd_emux_register(struct snd_emux *emu, struct snd_card *card, int index, ch
        emu->name = kstrdup(name, GFP_KERNEL);
        emu->voices = kcalloc(emu->max_voices, sizeof(struct snd_emux_voice),
                              GFP_KERNEL);
-       if (emu->voices == NULL)
+       if (emu->name == NULL || emu->voices == NULL)
                return -ENOMEM;
 
        /* create soundfont list */