From e389211aa54f2b1da9df9dbe80f8624ba5e045db Mon Sep 17 00:00:00 2001 From: Vineeth TM Date: Mon, 25 Jan 2016 13:33:09 +0900 Subject: [PATCH] h265parse: Fix buffer leak when sps is not present When sps data is NULL, the buffer allocated and mapped is not being freed. In this scenario there is no need to allocate the buffer as we are supposed to return NULL. https://bugzilla.gnome.org/show_bug.cgi?id=761070 --- gst/videoparsers/gsth265parse.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index 380102fe58..ea12c24c36 100644 --- a/gst/videoparsers/gsth265parse.c +++ b/gst/videoparsers/gsth265parse.c @@ -1073,6 +1073,10 @@ gst_h265_parse_make_codec_data (GstH265Parse * h265parse) if (!found) return NULL; + sps = h265parse->nalparser->last_sps; + if (!sps) + return NULL; + buf = gst_buffer_new_allocate (NULL, 23 + num_arrays + (3 * num_arrays) + vps_size + sps_size + pps_size, @@ -1082,9 +1086,6 @@ gst_h265_parse_make_codec_data (GstH265Parse * h265parse) memset (data, 0, map.size); nl = h265parse->nal_length_size; - sps = h265parse->nalparser->last_sps; - if (!sps) - return NULL; pft = &sps->profile_tier_level; if (sps->vui_parameters_present_flag) min_spatial_segmentation_idc = sps->vui_params.min_spatial_segmentation_idc;