From ca5fd568624366942d3548003ddc49b7ac2a3ea6 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Fri, 27 Mar 2015 14:41:51 +0100 Subject: [PATCH] mpeg2dec: fix buffer leak in crop_buffer() gst_buffer_pool_acquire_buffer() gives us a new owned buffer while gst_buffer_replace() reffed it as well so we were one reference extra. https://bugzilla.gnome.org/show_bug.cgi?id=746887 --- ext/mpeg2dec/gstmpeg2dec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/mpeg2dec/gstmpeg2dec.c b/ext/mpeg2dec/gstmpeg2dec.c index 3ba288024d..1c76cfa630 100644 --- a/ext/mpeg2dec/gstmpeg2dec.c +++ b/ext/mpeg2dec/gstmpeg2dec.c @@ -509,7 +509,9 @@ gst_mpeg2dec_crop_buffer (GstMpeg2dec * dec, GstVideoCodecFrame * in_frame, if (!gst_video_frame_map (&output_frame, info, buffer, GST_MAP_WRITE)) goto map_fail; - gst_buffer_replace (&in_frame->output_buffer, buffer); + if (in_frame->output_buffer) + gst_buffer_unref (in_frame->output_buffer); + in_frame->output_buffer = buffer; if (!gst_video_frame_copy (&output_frame, input_vframe)) goto copy_failed;