From 93d5e182d213ddbee312c5448c0e0ea7adebb722 Mon Sep 17 00:00:00 2001 From: Ognyan Tonchev Date: Mon, 30 Sep 2013 12:24:32 +0200 Subject: [PATCH] rtpgstpay: Fix memory leak We were leaking the GList nodes of the pending buffers. https://bugzilla.gnome.org/show_bug.cgi?id=709079 --- gst/rtp/gstrtpgstpay.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gst/rtp/gstrtpgstpay.c b/gst/rtp/gstrtpgstpay.c index 55c356c..669654c 100644 --- a/gst/rtp/gstrtpgstpay.c +++ b/gst/rtp/gstrtpgstpay.c @@ -353,15 +353,16 @@ static GstFlowReturn gst_rtp_gst_pay_flush (GstRtpGSTPay * rtpgstpay, GstClockTime timestamp) { GstFlowReturn ret = GST_FLOW_OK; - GList *iter, *next; + GList *iter; gst_rtp_gst_pay_create_from_adapter (rtpgstpay, timestamp); - for (iter = rtpgstpay->pending_buffers; iter; iter = next) { + + iter = rtpgstpay->pending_buffers; + while (iter) { GstBufferList *list = iter->data; - next = iter->next; - rtpgstpay->pending_buffers = g_list_remove_link (rtpgstpay->pending_buffers, - iter); + rtpgstpay->pending_buffers = iter = + g_list_delete_link (rtpgstpay->pending_buffers, iter); /* push the whole buffer list at once */ ret = gst_rtp_base_payload_push_list (GST_RTP_BASE_PAYLOAD (rtpgstpay), -- 2.7.4