31 lines
926 B
Diff
31 lines
926 B
Diff
|
From 8dde984237d9bce99236355b85df9c438badb59f Mon Sep 17 00:00:00 2001
|
||
|
From: John Lindgren <john.lindgren@tds.net>
|
||
|
Date: Wed, 21 Jul 2010 00:38:37 +0200
|
||
|
Subject: [PATCH 09/21] Memory leak in namehint.c
|
||
|
|
||
|
Get_card_name() can be called more than once on the same list, so it
|
||
|
must free the previous list->cardname before replacing it.
|
||
|
|
||
|
Signed-off-by: John Lindgren <john.lindgren@tds.net>
|
||
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||
|
---
|
||
|
src/control/namehint.c | 2 ++
|
||
|
1 files changed, 2 insertions(+), 0 deletions(-)
|
||
|
|
||
|
diff --git a/src/control/namehint.c b/src/control/namehint.c
|
||
|
index 78572d8..1819292 100644
|
||
|
--- a/src/control/namehint.c
|
||
|
+++ b/src/control/namehint.c
|
||
|
@@ -471,6 +471,8 @@ static int get_card_name(struct hint_list *list, int card)
|
||
|
char scard[16], *s;
|
||
|
int err;
|
||
|
|
||
|
+ free(list->cardname);
|
||
|
+ list->cardname = NULL;
|
||
|
err = snd_card_get_name(card, &list->cardname);
|
||
|
if (err <= 0)
|
||
|
return 0;
|
||
|
--
|
||
|
1.7.2.1
|
||
|
|