浏览代码

closes https://github.com/assimp/assimp/issues/3190 : fix leak.

kimkulling 5 年之前
父节点
当前提交
5c9a08e375
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      include/assimp/metadata.h

+ 6 - 1
include/assimp/metadata.h

@@ -313,8 +313,13 @@ struct aiMetadata {
 
         // Set metadata type
         mValues[index].mType = GetAiType(value);
+
         // Copy the given value to the dynamic storage
-        mValues[index].mData = new T(value);
+        if (nullptr != mValues[index].mData) {
+            ::memcpy(mValues[index].mData, &value, sizeof(T));
+        } else {
+            mValues[index].mData = new T(value);
+        }
 
         return true;
     }