From 035aead2d7d6d7db684d469c4fadfbdd5bcc1832 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 14 May 2010 17:30:40 +0100 Subject: [PATCH] jpegenc: fix two leaks Don't leak othercaps or jpegenc ref. --- ext/jpeg/gstjpegenc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c index d8ff546..da2c4da 100644 --- a/ext/jpeg/gstjpegenc.c +++ b/ext/jpeg/gstjpegenc.c @@ -342,8 +342,10 @@ gst_jpegenc_getcaps (GstPad * pad) othercaps = gst_pad_get_allowed_caps (jpegenc->srcpad); if (othercaps == NULL || - gst_caps_is_empty (othercaps) || gst_caps_is_any (othercaps)) - return gst_caps_copy (gst_pad_get_pad_template_caps (pad)); + gst_caps_is_empty (othercaps) || gst_caps_is_any (othercaps)) { + caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad)); + goto done; + } caps = gst_caps_new_empty (); templ = gst_pad_get_pad_template_caps (pad); @@ -365,6 +367,10 @@ gst_jpegenc_getcaps (GstPad * pad) gst_caps_merge_structure (caps, structure); } } + +done: + + gst_caps_replace (&othercaps, NULL); gst_object_unref (jpegenc); return caps; -- 2.7.4