From 81629cac8e979f54ee540fc5921d5b236d0d67d0 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 9 Aug 2014 13:09:52 +0200 Subject: [PATCH] dvbsuboverlay: Avoid leaking copy of caps object gst_pad_get_pad_template_caps() returns a reference which is unreferenced, so creating a copy using gst_caps_copy() results in a reference leak. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734528 --- gst/dvbsuboverlay/gstdvbsuboverlay.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c index eaf1ca1..de65084 100644 --- a/gst/dvbsuboverlay/gstdvbsuboverlay.c +++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c @@ -549,7 +549,7 @@ gst_dvbsub_overlay_get_videosink_caps (GstDVBSubOverlay * render, GstPad * pad, if (gst_caps_is_any (peer_caps)) { /* if peer returns ANY caps, return filtered src pad template caps */ - caps = gst_caps_copy (gst_pad_get_pad_template_caps (srcpad)); + caps = gst_pad_get_pad_template_caps (srcpad); if (filter) { GstCaps *intersection = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST); @@ -617,7 +617,7 @@ gst_dvbsub_overlay_get_src_caps (GstDVBSubOverlay * render, GstPad * pad, if (gst_caps_is_any (peer_caps)) { /* if peer returns ANY caps, return filtered sink pad template caps */ - caps = gst_caps_copy (gst_pad_get_pad_template_caps (sinkpad)); + caps = gst_pad_get_pad_template_caps (sinkpad); if (filter) { GstCaps *intersection = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST); -- 2.7.4