debugqroverlay: fix string leak
authorTim-Philipp Müller <tim@centricular.com>
Sun, 26 Mar 2023 15:49:32 +0000 (16:49 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 10 Apr 2023 13:42:55 +0000 (13:42 +0000)
g_string_free(.., FALSE) gives us ownership of the string
already, no need to duplicate that again with g_strdup(),
and doing so will leak the string returned by g_string_free()
here. Caught by compiler warnings in newer GLib versions.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4380>

subprojects/gst-plugins-bad/ext/qroverlay/gstdebugqroverlay.c

index 0c5d8a2..1b6c67d 100644 (file)
@@ -240,7 +240,7 @@ get_qrcode_content (GstBaseQROverlay * base, GstBuffer * buf,
     GstVideoInfo * info, gboolean * reuse_prev)
 {
   GstDebugQROverlay *filter = GST_DEBUG_QR_OVERLAY (base);
-  GString *res = g_string_new (NULL);
+  GString *res;
   JsonGenerator *jgen;
   gchar *framerate_string = g_strdup_printf ("%d/%d", info->fps_n, info->fps_d);
 
@@ -276,9 +276,10 @@ get_qrcode_content (GstBaseQROverlay * base, GstBuffer * buf,
   jgen = json_generator_new ();
   json_node_set_object (root, jobj);
   json_generator_set_root (jgen, root);
+  res = g_string_new (NULL);
   res = json_generator_to_gstring (jgen, res);
   g_object_unref (jgen);
   filter->frame_number++;
 
-  return g_strdup (g_string_free (res, FALSE));
+  return g_string_free (res, FALSE);
 }