From 3e2420361a3d04dfb44acf53d91cc5849ec9ad01 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Thu, 11 Jun 2020 20:39:33 +0300 Subject: [PATCH] Use gst_element_class_set_metadata when passing dynamic strings gst_element_class_set_metadata is meant to only be used with static or inlined strings, which isn't the case for the 2 elements here resulting in use-after-free later on. https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_class_set_static_metadata Part-of: --- gst/isomp4/gstqtmux.c | 2 +- sys/v4l2/gstv4l2videodec.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index 04a6cad6ca..53124e1165 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -459,7 +459,7 @@ gst_qt_mux_base_init (gpointer g_class) longname = g_strdup_printf ("%s Muxer", params->prop->long_name); description = g_strdup_printf ("Multiplex audio and video into a %s file", params->prop->long_name); - gst_element_class_set_static_metadata (element_class, longname, + gst_element_class_set_metadata (element_class, longname, "Codec/Muxer", description, "Thiago Sousa Santos "); g_free (longname); diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c index 65a1d1017d..7f5d6fde13 100644 --- a/sys/v4l2/gstv4l2videodec.c +++ b/sys/v4l2/gstv4l2videodec.c @@ -1050,7 +1050,7 @@ gst_v4l2_video_dec_subclass_init (gpointer g_class, gpointer data) gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, cdata->src_caps)); - gst_element_class_set_static_metadata (element_class, cdata->longname, + gst_element_class_set_metadata (element_class, cdata->longname, "Codec/Decoder/Video/Hardware", cdata->description, "Nicolas Dufresne ");