GNOME Bugzilla – Bug 787061
qtdemux: segmentation fauit with protected DASH streams
Last modified: 2018-11-03 15:21:39 UTC
Created attachment 358824 [details] detailed gdb backtrace When decoding a protected DASH stream, the qtdemux raises a segmentation fault. This can be reproduced by gst-launch-1.0 http://freenettvcon10-i.akamaihd.net/dash/live/499767/freenet10/dash.mpd The stream is the DASH source of a freenet.TV internet connect service "Insight (connect". Obviously this content is protected. Gstreamer should not crash event we no not have any protection handling plugin. The crash occures in qtdemux when the audio init segment is parsed: ===== Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 2062] 0xb0469428 in __gst_slow_read32_le (data=0x78657278 <Address 0x78657278 out of bounds>) at /home/metz/Projekte/G_SX7/DCP_SYS/Install/Core/.tmp/include/gstreamer-1.0/gst/gstutils.h:255 255 return _GST_READ_UINT32_LE (data); (gdb) bt
+ Trace 237914
Created attachment 358830 [details] [review] propsed workaround to avoid the crash Obviously the crash is caused by use of unintialized variables. In the testcase there is only audio in the MP4 multiplex and at line 11140 the unitialized mp4v is evaluated. Please review lines 11140ff generally, - is it really necessary to evaluate video components in audio case? - the protection handling for audio at this line is different from video at line 10023ff. Is this really the intention? Shouldn't this be "symmetrically"?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/398.