[libcamera-devel,v2,1/3] test: gstreamer_single_stream_test: Fix memory leak
diff mbox series

Message ID 20210921173955.20408-1-vedantparanjape160201@gmail.com
State Accepted
Commit ca9ea1f9ce37c70db885d14a1698063da04e0169
Headers show
Series
  • [libcamera-devel,v2,1/3] test: gstreamer_single_stream_test: Fix memory leak
Related show

Commit Message

Vedant Paranjape Sept. 21, 2021, 5:39 p.m. UTC
The test hold a valid reference to convert0_ and sink0_ but
not released. This results in a memory leak and can be checked
via valgrind. Drop the references with test cleanup() virtual
function.

Valgrind log (glib and gst suppression files were used):
==345380== LEAK SUMMARY:
==345380==    definitely lost: 1,688 bytes in 2 blocks
==345380==    indirectly lost: 7,069 bytes in 42 blocks

The patch fixes the leaks reported by valgrind above to:
==348870== LEAK SUMMARY:
==348870==    definitely lost: 0 bytes in 0 blocks
==348870==    indirectly lost: 0 bytes in 0 blocks

Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
---
 test/gstreamer/gstreamer_single_stream_test.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Paul Elder Sept. 22, 2021, 4:55 a.m. UTC | #1
Hi Vedant,

On Tue, Sep 21, 2021 at 11:09:53PM +0530, Vedant Paranjape wrote:
> The test hold a valid reference to convert0_ and sink0_ but
> not released. This results in a memory leak and can be checked
> via valgrind. Drop the references with test cleanup() virtual
> function.
> 
> Valgrind log (glib and gst suppression files were used):
> ==345380== LEAK SUMMARY:
> ==345380==    definitely lost: 1,688 bytes in 2 blocks
> ==345380==    indirectly lost: 7,069 bytes in 42 blocks
> 
> The patch fixes the leaks reported by valgrind above to:
> ==348870== LEAK SUMMARY:
> ==348870==    definitely lost: 0 bytes in 0 blocks
> ==348870==    indirectly lost: 0 bytes in 0 blocks
> 
> Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> ---
>  test/gstreamer/gstreamer_single_stream_test.cpp | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/test/gstreamer/gstreamer_single_stream_test.cpp b/test/gstreamer/gstreamer_single_stream_test.cpp
> index 7292f3280617..2b561d6bf9f2 100644
> --- a/test/gstreamer/gstreamer_single_stream_test.cpp
> +++ b/test/gstreamer/gstreamer_single_stream_test.cpp
> @@ -72,6 +72,12 @@ protected:
>  		return TestPass;
>  	}
>  
> +	void cleanup() override
> +	{
> +		g_clear_object(&convert0_);
> +		g_clear_object(&sink0_);
> +	}
> +
>  private:
>  	GstElement *convert0_;
>  	GstElement *sink0_;
> -- 
> 2.25.1
>

Patch
diff mbox series

diff --git a/test/gstreamer/gstreamer_single_stream_test.cpp b/test/gstreamer/gstreamer_single_stream_test.cpp
index 7292f3280617..2b561d6bf9f2 100644
--- a/test/gstreamer/gstreamer_single_stream_test.cpp
+++ b/test/gstreamer/gstreamer_single_stream_test.cpp
@@ -72,6 +72,12 @@  protected:
 		return TestPass;
 	}
 
+	void cleanup() override
+	{
+		g_clear_object(&convert0_);
+		g_clear_object(&sink0_);
+	}
+
 private:
 	GstElement *convert0_;
 	GstElement *sink0_;