diff options
author | John Lindgren <john.lindgren@tds.net> | 2010-07-21 00:38:37 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2010-07-21 09:28:18 +0200 |
commit | 8dde984237d9bce99236355b85df9c438badb59f (patch) | |
tree | bae06df9ab8199ff221205a1553b80c6b5e1c5f3 | |
parent | 2a94d80407f620c256021707503b14377d4701d1 (diff) | |
download | alsa-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.c | 2 |
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; |