validate: Fix leaks in ssim components
authorEdward Hervey <edward@centricular.com>
Tue, 29 Oct 2024 14:36:49 +0000 (15:36 +0100)
committerBackport Bot <gitlab-backport-bot@gstreamer-foundation.org>
Thu, 31 Oct 2024 12:18:41 +0000 (12:18 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7802>

subprojects/gst-devtools/validate/gst-libs/gst/video/gssim.c
subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.c

index 0e23a2f7acf954bac7036a63f675678bd8b5337f..5999f6aa36794680d7247d59e470316d56cd9dd9 100644 (file)
@@ -417,6 +417,7 @@ gssim_finalize (GObject * object)
 
   g_free (self->priv->orgmu);
   g_free (self->priv->windows);
+  g_free (self->priv->weights);
 
   chain_up (object);
 }
index 37cad8a5130ff35b86b22b668d97c1a82784393c..dffe2abd665e04d6737ad6ab5dcb46de753c5314 100644 (file)
@@ -173,6 +173,7 @@ runner_stopping (GstValidateRunner * runner, ValidateSsimOverride * self)
 
     ref_path = g_build_path (G_DIR_SEPARATOR_S, compared_files_dir,
         refname, NULL);
+    g_free (refname);
 
     if (!gst_validate_ssim_compare_image_files (ssim, ref_path, frame->path,
             &mssim, &lowest, &highest, self->priv->result_outdir))
@@ -191,6 +192,8 @@ runner_stopping (GstValidateRunner * runner, ValidateSsimOverride * self)
     g_free (bname);
   }
 
+  gst_object_unref (ssim);
+
   gst_validate_printf (NULL,
       "\nAverage similarity: %f, min_avg: %f, min_min: %f\n",
       total_avg / nfiles, min_avg, min_min);
@@ -410,6 +413,8 @@ _finalize (GObject * object)
 
   if (priv->config)
     gst_structure_free (priv->config);
+
+  G_OBJECT_CLASS (validate_ssim_override_parent_class)->finalize (object);
 }
 
 static void