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
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
index 380102f..ea12c24 100644
--- a/gst/videoparsers/gsth265parse.c
+++ b/gst/videoparsers/gsth265parse.c
@@ -1073,6 +1073,10 @@
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 @@
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;