summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2021-10-30 01:41:51 +0900
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-10-31 13:44:29 +0000
commit3e0f83531bfa4ca7a5c7dac19ca77b1e83958493 (patch)
treea5e146851b4ad211fb21567cf0d624a2b8b97456
parent14647d63b18b7039a8b281c02c952281655b4c7e (diff)
downloadgstreamer-plugins-bad-3e0f83531bfa4ca7a5c7dac19ca77b1e83958493.tar.gz
codecs: h265decoder: Fix per-slice leak
As documented, slice header parsed via gst_h265_parser_parse_slice_hdr() should be cleared, otherwise it would result in memory leak. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2559>
-rw-r--r--gst-libs/gst/codecs/gsth265decoder.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gst-libs/gst/codecs/gsth265decoder.c b/gst-libs/gst/codecs/gsth265decoder.c
index 033d9f26b..86b27e4d8 100644
--- a/gst-libs/gst/codecs/gsth265decoder.c
+++ b/gst-libs/gst/codecs/gsth265decoder.c
@@ -380,6 +380,12 @@ gst_h265_decoder_parse_slice (GstH265Decoder * self, GstH265NalUnit * nalu,
return FALSE;
}
+ /* NOTE: gst_h265_parser_parse_slice_hdr() allocates array
+ * GstH265SliceHdr::entry_point_offset_minus1 but we don't use it
+ * in this h265decoder baseclass at the moment
+ */
+ gst_h265_slice_hdr_free (&priv->current_slice.header);
+
priv->current_slice.nalu = *nalu;
if (!gst_h265_decoder_preprocess_slice (self, &priv->current_slice))