summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVineeth TM <vineeth.tm@samsung.com>2016-01-25 13:33:09 +0900
committerThiago Santos <thiagoss@osg.samsung.com>2016-01-25 10:23:23 -0300
commit6520a2c6866203d0e141ef7987de10cd6fc38b8f (patch)
tree799df2213cde2301011843b1d198fb718768b4ba
parent9bc4dfd004316f6ff4d6552c9c292537e608b7a0 (diff)
downloadgstreamer-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.c7
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;