mkvparser: validate results in EBMLHeader::Parse.

Return an error when DocType, DocTypeReadVersion, DocTypeVersion
EBMLMaxIDLength or EBMLMaxSizeLength are invalid or cannot be
handled by mkvparser.

Update samples to respect the return value from EBMLHeader::Parse.

BUG=https://code.google.com/p/webm/issues/detail?id=1057

Change-Id: I9337f13c1d5fa366b1101e48fe6bc46eb5b2ee97
This commit is contained in:
Tom Finegan
2015-09-04 10:18:20 -07:00
parent cec98d4110
commit 714f3c4e4f
4 changed files with 22 additions and 6 deletions

View File

@@ -248,11 +248,14 @@ int main(int argc, char* argv[]) {
long long pos = 0;
mkvparser::EBMLHeader ebml_header;
ebml_header.Parse(&reader, pos);
long long ret = ebml_header.Parse(&reader, pos);
if (ret) {
printf("\n EBMLHeader::Parse() failed.");
return EXIT_FAILURE;
}
mkvparser::Segment* parser_segment_;
long long ret =
mkvparser::Segment::CreateInstance(&reader, pos, parser_segment_);
ret = mkvparser::Segment::CreateInstance(&reader, pos, parser_segment_);
if (ret) {
printf("\n Segment::CreateInstance() failed.");
return EXIT_FAILURE;