Browse Source

coverity findings: fix resource leak in MakeVerboseFormat.

Kim Kulling 9 years ago
parent
commit
043fef6d21
1 changed files with 5 additions and 4 deletions
  1. 5 4
      code/MakeVerboseFormat.cpp

+ 5 - 4
code/MakeVerboseFormat.cpp

@@ -172,13 +172,14 @@ bool MakeVerboseFormatProcess::MakeVerboseFormat(aiMesh* pcMesh)
     for (unsigned int i = 0;i < pcMesh->mNumBones;++i)
     for (unsigned int i = 0;i < pcMesh->mNumBones;++i)
     {
     {
         delete pcMesh->mBones[i]->mWeights;
         delete pcMesh->mBones[i]->mWeights;
-        if (!newWeights[i].empty())
-        {
+        if (!newWeights[i].empty()) {
             pcMesh->mBones[i]->mWeights = new aiVertexWeight[newWeights[i].size()];
             pcMesh->mBones[i]->mWeights = new aiVertexWeight[newWeights[i].size()];
-            memcpy(pcMesh->mBones[i]->mWeights,&newWeights[i][0],
+            memcpy(pcMesh->mBones[i]->mWeights, &newWeights[i][0],
                 sizeof(aiVertexWeight) * newWeights[i].size());
                 sizeof(aiVertexWeight) * newWeights[i].size());
+            delete[] newWeights;
+        } else {
+            pcMesh->mBones[i]->mWeights = NULL;
         }
         }
-        else pcMesh->mBones[i]->mWeights = NULL;
     }
     }
 
 
     // delete the old members
     // delete the old members