mirror of
https://git.mirrors.martin98.com/https://github.com/syoyo/tinygltf.git
synced 2025-08-15 08:35:54 +08:00
Add error check for scenes
property.
This commit is contained in:
parent
fbc6118c6a
commit
e04b1b56d8
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// Tiny glTF loader.
|
// Tiny glTF loader.
|
||||||
//
|
//
|
||||||
// Copyright (c) 2015, Syoyo Fujita.
|
// Copyright (c) 2015-2016, Syoyo Fujita.
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
// (Licensed under 2-clause BSD liecense)
|
// (Licensed under 2-clause BSD liecense)
|
||||||
//
|
//
|
||||||
@ -1124,8 +1124,8 @@ static bool ParseBuffer(Buffer *buffer, std::string *err,
|
|||||||
if (err) {
|
if (err) {
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << "Invalid `byteLength'. Must be equal or less than binary size: "
|
ss << "Invalid `byteLength'. Must be equal or less than binary size: "
|
||||||
"`byteLength' = " << byteLength
|
"`byteLength' = "
|
||||||
<< ", binary size = " << bin_size << std::endl;
|
<< byteLength << ", binary size = " << bin_size << std::endl;
|
||||||
(*err) += ss.str();
|
(*err) += ss.str();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -1589,6 +1589,12 @@ bool TinyGLTFLoader::LoadFromString(Scene *scene, std::string *err,
|
|||||||
picojson::object::const_iterator it(root.begin());
|
picojson::object::const_iterator it(root.begin());
|
||||||
picojson::object::const_iterator itEnd(root.end());
|
picojson::object::const_iterator itEnd(root.end());
|
||||||
for (; it != itEnd; it++) {
|
for (; it != itEnd; it++) {
|
||||||
|
if (!((it->second).is<picojson::object>())) {
|
||||||
|
if (err) {
|
||||||
|
(*err) += "`scenes' does not contain an object.";
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
const picojson::object &o = (it->second).get<picojson::object>();
|
const picojson::object &o = (it->second).get<picojson::object>();
|
||||||
std::vector<std::string> nodes;
|
std::vector<std::string> nodes;
|
||||||
if (!ParseStringArrayProperty(&nodes, err, o, "nodes", false)) {
|
if (!ParseStringArrayProperty(&nodes, err, o, "nodes", false)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user