Add bounds checks to the parsing utilities. (#5421)
* Add bounds checks to the parsing utilities. * Fix merge conflicts in ACLoader. * Fix loaders * Fix unittest of AC-Loader. * Remove dead code. * Md5Parser fixes * Fix md5-parsing * Fix Merge conflict * Fix merge conflicts. * Md5: Fix warning: missing return statement.
This commit is contained in:
@@ -52,8 +52,9 @@ namespace Assimp {
|
||||
// -------------------------------------------------------------------------------
|
||||
void ConvertListToStrings(const std::string &in, std::list<std::string> &out) {
|
||||
const char *s = in.c_str();
|
||||
const char *end = in.c_str() + in.size();
|
||||
while (*s) {
|
||||
SkipSpacesAndLineEnd(&s);
|
||||
SkipSpacesAndLineEnd(&s, end);
|
||||
if (*s == '\'') {
|
||||
const char *base = ++s;
|
||||
while (*s != '\'') {
|
||||
@@ -66,7 +67,7 @@ void ConvertListToStrings(const std::string &in, std::list<std::string> &out) {
|
||||
out.emplace_back(base, (size_t)(s - base));
|
||||
++s;
|
||||
} else {
|
||||
out.push_back(GetNextToken(s));
|
||||
out.push_back(GetNextToken(s, end));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user