AC3D: Throw DeadlyImportError when too many vertices instead of out-of-memory exception
Valgrind can't throw an exception when running out of memory. The program wil just crash. This fixes it in some cases but not all.
This commit is contained in:
@@ -274,6 +274,9 @@ void AC3DImporter::LoadObjectSection(std::vector<Object>& objects)
|
||||
SkipSpaces(&buffer);
|
||||
|
||||
unsigned int t = strtoul10(buffer,&buffer);
|
||||
if (t >= std::numeric_limits<int32_t>::max() / sizeof(aiVector3D)) {
|
||||
throw DeadlyImportError("AC3D: Too many vertices, would run out of memory");
|
||||
}
|
||||
obj.vertices.reserve(t);
|
||||
for (unsigned int i = 0; i < t;++i)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user