From: Luis de Bethencourt Date: Tue, 10 Feb 2015 13:29:32 +0000 (+0000) Subject: splitmux: fix memory leak X-Git-Tag: 1.6.0~618 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0373fd8f65ec681c6dc781c20785a990d176dea2;p=platform%2Fupstream%2Fgst-plugins-good.git splitmux: fix memory leak If execution goes to the beach in line 981, buf_info goes out of scope without the memory being free'd. Handle this case. CID #1268403 --- diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c index 9034a19..8f39675 100644 --- a/gst/multifile/gstsplitmuxsink.c +++ b/gst/multifile/gstsplitmuxsink.c @@ -909,7 +909,7 @@ handle_mq_input (GstPad * pad, GstPadProbeInfo * info, MqStreamCtx * ctx) { GstSplitMuxSink *splitmux = ctx->splitmux; GstBuffer *buf; - MqStreamBuf *buf_info; + MqStreamBuf *buf_info = NULL; GstClockTime ts; gboolean loop_again; gboolean keyframe = FALSE; @@ -1090,9 +1090,13 @@ handle_mq_input (GstPad * pad, GstPadProbeInfo * info, MqStreamCtx * ctx) GST_LOG_OBJECT (pad, "Returning to queue buffer %" GST_PTR_FORMAT " run ts %" GST_TIME_FORMAT, buf, GST_TIME_ARGS (ctx->in_running_time)); -beach: GST_SPLITMUX_UNLOCK (splitmux); + return GST_PAD_PROBE_PASS; +beach: + GST_SPLITMUX_UNLOCK (splitmux); + if (buf_info) + mq_stream_buf_free (buf_info); return GST_PAD_PROBE_PASS; }