@@ -66,6 +66,8 @@ static IMAGE_AVIF_IROT_MISSING_ESSENTIAL: &str = "tests/irot-missing-essential.a
66
66
static IMAGE_AVIF_LSEL_MISSING_ESSENTIAL : & str = "tests/corrupt/lsel-missing-essential.avif" ;
67
67
static IMAGE_AVIF_CLAP_MISSING_ESSENTIAL : & str = "tests/clap-missing-essential.avif" ;
68
68
static IMAGE_AVIF_UNKNOWN_MDAT_SIZE : & str = "tests/unknown_mdat.avif" ;
69
+ static IMAGE_AVIF_UNKNOWN_MDAT_SIZE_IN_OVERSIZED_META : & str =
70
+ "tests/unknown_mdat_in_oversized_meta.avif" ;
69
71
static AVIF_TEST_DIRS : & [ & str ] = & [ "tests" , "av1-avif/testFiles" , "link-u-avif-sample-images" ] ;
70
72
71
73
// These files are
@@ -124,6 +126,7 @@ static AVIF_UNSUPPORTED_IMAGES: &[&str] = &[
124
126
/// and https://github.com/AOMediaCodec/av1-avif/issues/178
125
127
// TODO: make this into a map of expected errors?
126
128
static AV1_AVIF_CORRUPT_IMAGES : & [ & str ] = & [
129
+ IMAGE_AVIF_UNKNOWN_MDAT_SIZE_IN_OVERSIZED_META ,
127
130
"av1-avif/testFiles/Link-U/kimono.crop.avif" ,
128
131
"av1-avif/testFiles/Link-U/kimono.mirror-horizontal.avif" ,
129
132
"av1-avif/testFiles/Link-U/kimono.mirror-vertical.avif" ,
@@ -926,6 +929,16 @@ fn public_avif_unknown_mdat() {
926
929
) ;
927
930
}
928
931
932
+ #[ test]
933
+ fn public_avif_unknown_mdat_in_oversized_meta ( ) {
934
+ let input =
935
+ & mut File :: open ( IMAGE_AVIF_UNKNOWN_MDAT_SIZE_IN_OVERSIZED_META ) . expect ( "Unknown file" ) ;
936
+ assert_eq ! (
937
+ Status :: from( mp4:: read_avif( input, ParseStrictness :: Normal ) ) ,
938
+ Status :: Unsupported
939
+ ) ;
940
+ }
941
+
929
942
#[ test]
930
943
fn public_avif_bug_1655846 ( ) {
931
944
let input = & mut File :: open ( IMAGE_AVIF_CORRUPT ) . expect ( "Unknown file" ) ;
0 commit comments