diff options
author | Vineeth TM <vineeth.tm@samsung.com> | 2016-01-25 13:33:09 +0900 |
---|---|---|
committer | Thiago Santos <thiagoss@osg.samsung.com> | 2016-01-25 10:23:23 -0300 |
commit | 6520a2c6866203d0e141ef7987de10cd6fc38b8f (patch) | |
tree | 799df2213cde2301011843b1d198fb718768b4ba | |
parent | 9bc4dfd004316f6ff4d6552c9c292537e608b7a0 (diff) | |
download | gstreamer-plugins-bad-6520a2c6866203d0e141ef7987de10cd6fc38b8f.tar.gz |
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
-rw-r--r-- | gst/videoparsers/gsth265parse.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index bd7ced622..4bbc889f5 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; |