From: Tim-Philipp Müller Date: Fri, 14 May 2010 16:30:40 +0000 (+0100) Subject: jpegenc: fix two leaks X-Git-Tag: 1.19.3~509^2~8592 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=035aead2d7d6d7db684d469c4fadfbdd5bcc1832;p=platform%2Fupstream%2Fgstreamer.git jpegenc: fix two leaks Don't leak othercaps or jpegenc ref. --- 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;