rtpbasedepayload: Avoid potential use-after free

Clear the pointer after freeing the reference.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9579>
This commit is contained in:
Olivier Crête 2025-08-19 09:15:03 -04:00
parent 162c4b0008
commit e37d5b7b74

View File

@ -498,8 +498,7 @@ gst_rtp_base_depayload_finalize (GObject * object)
g_ptr_array_unref (rtpbasedepayload->priv->header_exts);
gst_clear_buffer_list (&rtpbasedepayload->priv->hdrext_buffers);
if (priv->hdrext_delayed)
gst_buffer_unref (priv->hdrext_delayed);
gst_clear_buffer (&priv->hdrext_delayed);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@ -1759,8 +1758,7 @@ gst_rtp_base_depayload_change_state (GstElement * element,
priv->discont = FALSE;
priv->segment_seqnum = GST_SEQNUM_INVALID;
priv->hdrext_seen = FALSE;
if (priv->hdrext_delayed)
gst_buffer_unref (priv->hdrext_delayed);
gst_clear_buffer (&priv->hdrext_delayed);
gst_rtp_base_depayload_reset_hdrext_buffers (filter);
break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING: