diff --git a/code/MakeVerboseFormat.cpp b/code/MakeVerboseFormat.cpp index 62c7d9f13..451a61635 100644 --- a/code/MakeVerboseFormat.cpp +++ b/code/MakeVerboseFormat.cpp @@ -174,7 +174,8 @@ bool MakeVerboseFormatProcess::MakeVerboseFormat(aiMesh* pcMesh) delete pcMesh->mBones[i]->mWeights; if (!newWeights[i].empty()) { pcMesh->mBones[i]->mWeights = new aiVertexWeight[newWeights[i].size()]; - memcpy(pcMesh->mBones[i]->mWeights, &newWeights[i][0], + aiVertexWeight *weightToCopy = &( newWeights[i][0] ); + memcpy(pcMesh->mBones[i]->mWeights, weightToCopy, sizeof(aiVertexWeight) * newWeights[i].size()); delete[] newWeights; } else { diff --git a/include/assimp/mesh.h b/include/assimp/mesh.h index 00cc31d7a..f112bea0f 100644 --- a/include/assimp/mesh.h +++ b/include/assimp/mesh.h @@ -249,7 +249,8 @@ struct aiBone //! Default constructor aiBone() - : mNumWeights( 0 ) + : mName() + , mNumWeights( 0 ) , mWeights( NULL ) { }