Zero-length mChildren arrays should be nullptr (#5749)

- Children: Don't allocate a zero-length array
- aiNode::mChildren should be left nullptr instead.
This commit is contained in:
RichardTea
2024-09-03 09:26:27 +01:00
committed by GitHub
parent c35200e38e
commit c1ffbfec06
5 changed files with 27 additions and 12 deletions

View File

@@ -643,11 +643,17 @@ void Discreet3DSImporter::AddNodeToGraph(aiScene *pcSOut, aiNode *pcOut,
}
// Allocate storage for children
pcOut->mNumChildren = (unsigned int)pcIn->mChildren.size();
const unsigned int size = static_cast<unsigned int>(pcIn->mChildren.size());
pcOut->mNumChildren = size;
if (size == 0) {
return;
}
pcOut->mChildren = new aiNode *[pcIn->mChildren.size()];
// Recursively process all children
const unsigned int size = static_cast<unsigned int>(pcIn->mChildren.size());
for (unsigned int i = 0; i < size; ++i) {
pcOut->mChildren[i] = new aiNode();
pcOut->mChildren[i]->mParent = pcOut;