summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Lindgren <john.lindgren@tds.net>2010-07-21 00:38:37 +0200
committerJaroslav Kysela <perex@perex.cz>2010-07-21 09:28:18 +0200
commit8dde984237d9bce99236355b85df9c438badb59f (patch)
treebae06df9ab8199ff221205a1553b80c6b5e1c5f3
parent2a94d80407f620c256021707503b14377d4701d1 (diff)
downloadalsa-lib-8dde984237d9bce99236355b85df9c438badb59f.tar.gz
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>
-rw-r--r--src/control/namehint.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/control/namehint.c b/src/control/namehint.c
index 78572d86..18192921 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;