Fix infinite loops when parsing MP4 files.

This commit is contained in:
Tsuda Kageyu
2014-12-25 09:32:56 +09:00
parent f6081ed32e
commit b69973bcf2
3 changed files with 20 additions and 3 deletions

BIN
tests/data/infloop.m4a Normal file

Binary file not shown.

View File

@ -27,6 +27,7 @@ class TestMP4 : public CppUnit::TestFixture
CPPUNIT_TEST(testCovrWrite);
CPPUNIT_TEST(testCovrRead2);
CPPUNIT_TEST(testProperties);
CPPUNIT_TEST(testFuzzedFile);
CPPUNIT_TEST_SUITE_END();
public:
@ -282,6 +283,12 @@ public:
CPPUNIT_ASSERT_EQUAL(StringList("0"), tags["COMPILATION"]);
}
void testFuzzedFile()
{
MP4::File f(TEST_FILE_PATH_C("infloop.m4a"));
CPPUNIT_ASSERT(f.isValid());
}
};
CPPUNIT_TEST_SUITE_REGISTRATION(TestMP4);