From 0011d8cbb50ad3f4db89ce0f7dc4172e55f34c55 Mon Sep 17 00:00:00 2001 From: Stian Selnes Date: Tue, 29 Apr 2014 08:46:02 +0200 Subject: [PATCH] rtpbuffer: fix memory leak when gst_rtp_buffer_map fails Make sure rtp->data[3] is set before jumping to error path. https://bugzilla.gnome.org/show_bug.cgi?id=729117 --- gst-libs/gst/rtp/gstrtpbuffer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/rtp/gstrtpbuffer.c b/gst-libs/gst/rtp/gstrtpbuffer.c index 5f0fe8fe0c..f3fd4f4b80 100644 --- a/gst-libs/gst/rtp/gstrtpbuffer.c +++ b/gst-libs/gst/rtp/gstrtpbuffer.c @@ -403,11 +403,11 @@ gst_rtp_buffer_map (GstBuffer * buffer, GstMapFlags flags, GstRTPBuffer * rtp) goto map_failed; padding = rtp->map[3].data[skip]; - if (skip + 1 < padding) - goto wrong_length; - rtp->data[3] = rtp->map[3].data + skip + 1 - padding; rtp->size[3] = padding; + + if (skip + 1 < padding) + goto wrong_length; } else { rtp->data[3] = NULL; rtp->size[3] = 0;