Merge pull request #452 from nyalldawson/permissive_align

Relax bin chunk end alignment check in permissive mode
This commit is contained in:
Syoyo Fujita 2023-09-07 06:46:11 +09:00 committed by GitHub
commit 35735bb686
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6733,10 +6733,17 @@ bool TinyGLTF::LoadBinaryFromMemory(Model *model, std::string *err,
}
if ((chunk1_length % 4) != 0) {
if (err) {
(*err) = "BIN Chunk end does not aligned to a 4-byte boundary.";
if (strictness_==ParseStrictness::Permissive) {
if (warn) {
(*warn) += "BIN Chunk end is not aligned to a 4-byte boundary.\n";
}
}
else {
if (err) {
(*err) = "BIN Chunk end is not aligned to a 4-byte boundary.";
}
return false;
}
return false;
}
if (uint64_t(chunk1_length) + header_and_json_size > uint64_t(length)) {