kstrdup() can return NULL, it is better to check the return value of it. Fix: free jack and use my full name. Signed-off-by: Xiaoke Wang <xkernel.wang@xxxxxxxxxxx> --- sound/core/jack.c | 4 ++ 1 file changed, 4 insertions(+) diff --git a/sound/core/jack.c b/sound/core/jack.c index 32350c6..5fd9954 100644 --- a/sound/core/jack.c +++ b/sound/core/jack.c @@ -509,6 +509,10 @@ int snd_jack_new(struct snd_card *card, const char *id, int type, return -ENOMEM; jack->id = kstrdup(id, GFP_KERNEL); + if (jack->id == NULL) { + kfree(jack); + return -ENOMEM; + } /* don't creat input device for phantom jack */ if (!phantom_jack) { --