[clutter-gst] memory leaks at logging



commit f15e6e85634af0ae8ea7866d6d8c274365e68645
Author: Víctor Manuel Jáquez Leal <vjaquez igalia com>
Date:   Wed Feb 11 13:42:54 2015 +0100

    memory leaks at logging
    
    The function gst_caps_to_string () return a new allocated string
    that should be free.
    
    Some logging instructions use that function without freeing the
    allocated string. This patch replaces the function with
    GST_PTR_FORMAT magic, and in the case of the tests, the free()
    is added.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=744326

 clutter-gst/clutter-gst-video-sink.c |    4 ++--
 tests/test-alpha.c                   |    5 ++++-
 tests/test-rgb-upload.c              |    5 ++++-
 tests/test-yuv-upload.c              |    5 ++++-
 4 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/clutter-gst/clutter-gst-video-sink.c b/clutter-gst/clutter-gst-video-sink.c
index b4f77a3..640971d 100644
--- a/clutter-gst/clutter-gst-video-sink.c
+++ b/clutter-gst/clutter-gst-video-sink.c
@@ -1812,7 +1812,7 @@ clutter_gst_video_sink_get_caps (GstBaseSink *bsink,
   ClutterGstVideoSink *sink;
   sink = CLUTTER_GST_VIDEO_SINK (bsink);
 
-  GST_DEBUG_OBJECT (bsink, "Getting caps for %s", gst_caps_to_string (filter));
+  GST_DEBUG_OBJECT (bsink, "Getting caps for %" GST_PTR_FORMAT, filter);
 
   if (sink->priv->caps == NULL)
     return NULL;
@@ -1940,7 +1940,7 @@ clutter_gst_video_sink_set_caps (GstBaseSink *bsink,
   sink = CLUTTER_GST_VIDEO_SINK (bsink);
   priv = sink->priv;
 
-  GST_INFO_OBJECT (bsink, "Setting caps to %s", gst_caps_to_string (caps));
+  GST_INFO_OBJECT (bsink, "Setting caps to %" GST_PTR_FORMAT, caps);
 
   if (!clutter_gst_video_sink_parse_caps (caps, sink, FALSE))
     return FALSE;
diff --git a/tests/test-alpha.c b/tests/test-alpha.c
index 5f3f5a1..93a32b6 100644
--- a/tests/test-alpha.c
+++ b/tests/test-alpha.c
@@ -82,6 +82,7 @@ main (int argc, char *argv[])
   GstElement            *capsfilter;
   GstElement            *sink;
   GstCaps               *caps;
+  gchar                 *capsstr;
 
   result = clutter_gst_init_with_args (&argc,
                                        &argv,
@@ -151,7 +152,9 @@ main (int argc, char *argv[])
 
   g_object_set (capsfilter, "caps", caps, NULL);
 
-  g_printf ("%s: [caps] %s\n", __FILE__, gst_caps_to_string (caps));
+  capsstr = gst_caps_to_string (caps);
+  g_printf ("%s: [caps] %s\n", __FILE__, capsstr);
+  g_free (capsstr);
   gst_bin_add_many (GST_BIN (pipeline), src, capsfilter, sink, NULL);
   result = gst_element_link_many (src, capsfilter, sink, NULL);
   if (result == FALSE)
diff --git a/tests/test-rgb-upload.c b/tests/test-rgb-upload.c
index 63708ae..9cf3ae9 100644
--- a/tests/test-rgb-upload.c
+++ b/tests/test-rgb-upload.c
@@ -75,6 +75,7 @@ main (int argc, char *argv[])
   GstElement       *capsfilter;
   GstElement       *sink;
   GstCaps          *caps;
+  gchar            *capsstr;
   GstVideoFormat    format;
 
   result = clutter_gst_init_with_args (&argc,
@@ -124,7 +125,9 @@ main (int argc, char *argv[])
                              NULL);
   g_object_set (capsfilter, "caps", caps, NULL);
 
-  g_printf ("%s: [caps] %s\n", __FILE__, gst_caps_to_string (caps));
+  capsstr = gst_caps_to_string (caps);
+  g_printf ("%s: [caps] %s\n", __FILE__, capsstr);
+  g_free (capsstr);
   gst_bin_add_many (GST_BIN (pipeline), src, capsfilter, sink, NULL);
   result = gst_element_link_many (src, capsfilter, sink, NULL);
   if (result == FALSE)
diff --git a/tests/test-yuv-upload.c b/tests/test-yuv-upload.c
index c1608cd..4b7f7a4 100644
--- a/tests/test-yuv-upload.c
+++ b/tests/test-yuv-upload.c
@@ -64,6 +64,7 @@ main (int argc, char *argv[])
   GstElement       *capsfilter;
   GstElement       *sink;
   GstCaps          *caps;
+  gchar            *capsstr;
 
   result = clutter_gst_init_with_args (&argc,
                                        &argv,
@@ -106,7 +107,9 @@ main (int argc, char *argv[])
                               NULL);
   g_object_set (capsfilter, "caps", caps, NULL);
 
-  g_printf ("%s: [caps] %s\n", __FILE__, gst_caps_to_string (caps));
+  capsstr = gst_caps_to_string (caps);
+  g_printf ("%s: [caps] %s\n", __FILE__, capsstr);
+  g_free (capsstr);
   gst_bin_add_many (GST_BIN (pipeline), src, capsfilter, sink, NULL);
   result = gst_element_link_many (src, capsfilter, sink, NULL);
   if (result == FALSE)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]