ALSA: seq: Fix memory leak at error path in snd_seq_create_port()

We forgot to release a newly allocated item at the error path in
snd_seq_create_port().  This patch fixes it.

Fixes: 7c3f0d3d3a ("ALSA: seq: Check the conflicting port at port creation")
Reported-by: syzbot+cf8e7fa4eeec59b3d485@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/r/00000000000098ed3a0600965f89@google.com
Link: https://lore.kernel.org/r/20230717062555.31592-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2023-07-17 08:25:55 +02:00
parent b2cb84d780
commit 057849ccc3
1 changed files with 1 additions and 0 deletions

View File

@ -149,6 +149,7 @@ int snd_seq_create_port(struct snd_seq_client *client, int port,
write_lock_irq(&client->ports_lock); write_lock_irq(&client->ports_lock);
list_for_each_entry(p, &client->ports_list_head, list) { list_for_each_entry(p, &client->ports_list_head, list) {
if (p->addr.port == port) { if (p->addr.port == port) {
kfree(new_port);
num = -EBUSY; num = -EBUSY;
goto unlock; goto unlock;
} }