From: Jaroslav Kysela Date: Fri, 3 Jun 2005 14:04:53 +0000 (+0000) Subject: mixer - fix typo and memory leak X-Git-Tag: v1.0.10rc1~38 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=157cb698ac09a38d46c24198ee83fd6d564b174c;p=alsa-lib.git mixer - fix typo and memory leak --- diff --git a/include/mixer.h b/include/mixer.h index ac2db33d..a5d8ef15 100644 --- a/include/mixer.h +++ b/include/mixer.h @@ -144,7 +144,7 @@ size_t snd_mixer_class_sizeof(void); * \brief allocate an invalid #snd_mixer_class_t using standard alloca * \param ptr returned pointer */ -#define snd_mixer_class_alloca(ptr) do { assert(ptr); *ptr = (snd_mixer_selem_id_t *) alloca(snd_mixer_class_sizeof()); memset(*ptr, 0, snd_mixer_class_sizeof()); } while (0) +#define snd_mixer_class_alloca(ptr) do { assert(ptr); *ptr = (snd_mixer_class_t *) alloca(snd_mixer_class_sizeof()); memset(*ptr, 0, snd_mixer_class_sizeof()); } while (0) int snd_mixer_class_malloc(snd_mixer_class_t **ptr); void snd_mixer_class_free(snd_mixer_class_t *obj); void snd_mixer_class_copy(snd_mixer_class_t *dst, const snd_mixer_class_t *src); diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c index 37b6ea57..5f5801bd 100644 --- a/src/mixer/simple_none.c +++ b/src/mixer/simple_none.c @@ -598,7 +598,10 @@ static int selem_write(snd_mixer_elem_t *elem) static void selem_free(snd_mixer_elem_t *elem) { assert(snd_mixer_elem_get_type(elem) == SND_MIXER_ELEM_SIMPLE); - free(snd_mixer_elem_get_private(elem)); + selem_none_t *simple = snd_mixer_elem_get_private(elem); + if (simple->selem.id) + snd_mixer_selem_id_free(simple->selem.id); + free(simple); } static int simple_update(snd_mixer_elem_t *melem)