qtdemux: avoid looping indefinitely in broken svq3 files
Abort if an atom with size 0 is read from within the svq3 stsd atoms https://bugzilla.gnome.org/show_bug.cgi?id=726512
This commit is contained in:
parent
592c34336e
commit
9fda7b107f
@ -6914,6 +6914,12 @@ qtdemux_parse_svq3_stsd_data (GstQTDemux * qtdemux, GNode * stsd,
|
|||||||
fourcc = QT_FOURCC (stsd_data + 4);
|
fourcc = QT_FOURCC (stsd_data + 4);
|
||||||
data = stsd_data + 8;
|
data = stsd_data + 8;
|
||||||
|
|
||||||
|
if (size == 0) {
|
||||||
|
GST_WARNING_OBJECT (qtdemux, "Atom of size 0 found, aborting "
|
||||||
|
"svq3 atom parsing");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
switch (fourcc) {
|
switch (fourcc) {
|
||||||
case FOURCC_gama:{
|
case FOURCC_gama:{
|
||||||
if (size == 12) {
|
if (size == 12) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user