jack: Fixing a small memory leak
diff mbox

Message ID 1439275034-577-1-git-send-email-corfuvalentin@gmail.com
State New
Headers show

Commit Message

Valentin Corfu Aug. 11, 2015, 6:37 a.m. UTC
A small memory leak can be observed when using alsa-plugins (jack).
Check the following valgrind log:
...
==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
...

Signed-off-by: Valentin Corfu <corfuvalentin@gmail.com>
---
 jack/pcm_jack.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Takashi Iwai Aug. 11, 2015, 7:39 a.m. UTC | #1
On Tue, 11 Aug 2015 08:37:14 +0200,
Valentin Corfu wrote:
> 
> A small memory leak can be observed when using alsa-plugins (jack).
> Check the following valgrind log:
> ...
> ==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
> ...
> 
> Signed-off-by: Valentin Corfu <corfuvalentin@gmail.com>

Applied, thanks.


Takashi

> ---
>  jack/pcm_jack.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c
> index 568ec43..de9c46e 100644
> --- a/jack/pcm_jack.c
> +++ b/jack/pcm_jack.c
> @@ -103,6 +103,7 @@ static void snd_pcm_jack_free(snd_pcm_jack_t *jack)
>  		if (jack->io.poll_fd >= 0)
>  			close(jack->io.poll_fd);
>  		free(jack->areas);
> +		free(jack->ports);
>  		free(jack);
>  	}
>  }
> -- 
> 1.9.1
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
Valentin Corfu Aug. 11, 2015, 7:43 a.m. UTC | #2
I also thank you, for your implication.

Have a nice day,
Valentin Corfu


On 11.08.2015 10:39, Takashi Iwai wrote:
> On Tue, 11 Aug 2015 08:37:14 +0200,
> Valentin Corfu wrote:
>> A small memory leak can be observed when using alsa-plugins (jack).
>> Check the following valgrind log:
>> ...
>> ==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
>> ...
>>
>> Signed-off-by: Valentin Corfu <corfuvalentin@gmail.com>
> Applied, thanks.
>
>
> Takashi
>
>> ---
>>   jack/pcm_jack.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c
>> index 568ec43..de9c46e 100644
>> --- a/jack/pcm_jack.c
>> +++ b/jack/pcm_jack.c
>> @@ -103,6 +103,7 @@ static void snd_pcm_jack_free(snd_pcm_jack_t *jack)
>>   		if (jack->io.poll_fd >= 0)
>>   			close(jack->io.poll_fd);
>>   		free(jack->areas);
>> +		free(jack->ports);
>>   		free(jack);
>>   	}
>>   }
>> -- 
>> 1.9.1
>>
>> _______________________________________________
>> Alsa-devel mailing list
>> Alsa-devel@alsa-project.org
>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>

Patch
diff mbox

diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c
index 568ec43..de9c46e 100644
--- a/jack/pcm_jack.c
+++ b/jack/pcm_jack.c
@@ -103,6 +103,7 @@  static void snd_pcm_jack_free(snd_pcm_jack_t *jack)
 		if (jack->io.poll_fd >= 0)
 			close(jack->io.poll_fd);
 		free(jack->areas);
+		free(jack->ports);
 		free(jack);
 	}
 }