codecs: h265decoder: Fix per-slice leak
authorSeungha Yang <seungha@centricular.com>
Fri, 29 Oct 2021 16:41:51 +0000 (01:41 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 29 Oct 2021 17:25:06 +0000 (17:25 +0000)
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/gstreamer/-/merge_requests/1274>

subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c

index 177849a..deb9522 100644 (file)
@@ -650,6 +650,12 @@ gst_h265_decoder_parse_slice (GstH265Decoder * self, GstH265NalUnit * nalu,
     return GST_FLOW_ERROR;
   }
 
+  /* 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 (priv->current_slice.header.dependent_slice_segment_flag) {