[alsa-devel] jack: Fixing a small memory leak
Takashi Iwai
tiwai at suse.de
Mon Aug 10 17:07:49 CEST 2015
On Mon, 10 Aug 2015 16:58:25 +0200,
Valentin Corfu wrote:
>
>
> Hello Alsa developers,
>
> I observed a small memory leak in alsa-plugins (jack):
>
> ...
> ==1034==
> ==1034== 8 bytes in 1 blocks are definitely lost in loss record 7 of 108
> ==1034== at 0x4027E5A: calloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
> ==1034== by 0x4035102: snd_pcm_jack_prepare (in /usr/lib/alsa-lib/libasound_module_pcm_jack.so)
> ==1034== by 0x40D07AB: snd_pcm_ioplug_prepare (pcm_ioplug.c:145)
> ==1034== by 0x4084961: snd_pcm_prepare (pcm.c:1052)
> ==1034== by 0x409DDB4: snd_pcm_plugin_prepare (pcm_plugin.c:162)
> ==1034== by 0x4084961: snd_pcm_prepare (pcm.c:1052)
> ==1034== by 0x409DDB4: snd_pcm_plugin_prepare (pcm_plugin.c:162)
> ==1034== by 0x4084961: snd_pcm_prepare (pcm.c:1052)
> ==1034== by 0x4084A1D: snd_pcm_hw_params (pcm.c:838)
> ==1034== by 0x4090013: snd_pcm_set_params (pcm.c:8053)
> ==1034== by 0x80486EB: main (in /root/pcm_min_ok)
> ...
> ==1034== LEAK SUMMARY:
> ==1034== definitely lost: 8 bytes in 1 blocks
> ==1034== indirectly lost: 0 bytes in 0 blocks
> ==1034== possibly lost: 31,311 bytes in 1,630 blocks
> ==1034== still reachable: 5,619 bytes in 24 blocks
> ==1034== suppressed: 0 bytes in 0 blocks
> ==1034== Reachable blocks (those to which a pointer was found) are not shown.
> ==1034== To see them, rerun with: --leak-check=full --show-leak-kinds=all
> ...
Does the patch below fix it?
Takashi
---
diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c
index 568ec43b0924..4134f9e6498e 100644
--- a/jack/pcm_jack.c
+++ b/jack/pcm_jack.c
@@ -102,6 +102,7 @@ static void snd_pcm_jack_free(snd_pcm_jack_t *jack)
close(jack->fd);
if (jack->io.poll_fd >= 0)
close(jack->io.poll_fd);
+ free(jack->ports);
free(jack->areas);
free(jack);
}
More information about the Alsa-devel
mailing list