From 24ac478e50dab189b53c749b34971a807aa6da4d Mon Sep 17 00:00:00 2001 From: Ratchanan Srirattanamet Date: Thu, 10 Sep 2020 00:30:41 +0700 Subject: CameraBin: unset GValues after finish using them GValue can contain allocated memory. Not unsetting it can cause memory leak. This patch adds g_value_unset() calls to various places that miss ones. Pick-to: 5.15 5.12 Change-Id: I78e0f8f6c558ada0e7828c11094132359c579c2a Reviewed-by: Val Doroshchuk --- src/plugins/gstreamer/camerabin/camerabinsession.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/plugins') diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp index 9445bd9d0..22f5fb116 100644 --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp @@ -1327,6 +1327,7 @@ QList< QPair > CameraBinSession::supportedFrameRates(const QSize &frame g_value_copy(oldRate, &rate); gst_structure_remove_all_fields(structure); gst_structure_set_value(structure, "framerate", &rate); + g_value_unset(&rate); } #if GST_CHECK_VERSION(1,0,0) caps = gst_caps_simplify(caps); @@ -1448,6 +1449,8 @@ QList CameraBinSession::supportedResolutions(QPair rate, gst_structure_remove_all_fields(structure); gst_structure_set_value(structure, "width", &w); gst_structure_set_value(structure, "height", &h); + g_value_unset(&w); + g_value_unset(&h); } #if GST_CHECK_VERSION(1,0,0) -- cgit v1.2.3