mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 14:36:24 +00:00
qtdemux: Don't free cslg data that we don't own on corrupt files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
This commit is contained in:
parent
5d3009b7f8
commit
7f105a919a
1 changed files with 1 additions and 3 deletions
|
@ -9386,10 +9386,8 @@ qtdemux_stbl_init (GstQTDemux * qtdemux, QtDemuxStream * stream, GNode * stbl)
|
||||||
/* This is optional, if missing we iterate the ctts */
|
/* This is optional, if missing we iterate the ctts */
|
||||||
if (qtdemux_tree_get_child_by_type_full (stbl, FOURCC_cslg, &cslg)) {
|
if (qtdemux_tree_get_child_by_type_full (stbl, FOURCC_cslg, &cslg)) {
|
||||||
if (!gst_byte_reader_skip (&cslg, 1 + 3)
|
if (!gst_byte_reader_skip (&cslg, 1 + 3)
|
||||||
|| !gst_byte_reader_get_uint32_be (&cslg, &stream->cslg_shift)) {
|
|| !gst_byte_reader_get_uint32_be (&cslg, &stream->cslg_shift))
|
||||||
g_free ((gpointer) cslg.data);
|
|
||||||
goto corrupt_file;
|
goto corrupt_file;
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
gint32 cslg_least = 0;
|
gint32 cslg_least = 0;
|
||||||
guint num_entries, pos;
|
guint num_entries, pos;
|
||||||
|
|
Loading…
Reference in a new issue