Przeglądaj źródła

Merge pull request #5067 from assimp/kimkulling/fix_memory_leak_in_fbx_scope_issue-3421

Fix: Fix leak in Scope class, FBX
Kim Kulling 2 lat temu
rodzic
commit
0023f9b09a
1 zmienionych plików z 6 dodań i 2 usunięć
  1. 6 2
      code/AssetLib/FBX/FBXParser.cpp

+ 6 - 2
code/AssetLib/FBX/FBXParser.cpp

@@ -188,15 +188,19 @@ Scope::Scope(Parser& parser,bool topLevel)
             ParseError("unexpected content: empty string.");
         }
 
-        elements.insert(ElementMap::value_type(str,new_Element(*n,parser)));
-
+        auto *element = new_Element(*n, parser);
+        
         // Element() should stop at the next Key token (or right after a Close token)
         n = parser.CurrentToken();
         if (n == nullptr) {
             if (topLevel) {
+                elements.insert(ElementMap::value_type(str, element));
                 return;
             }
             ParseError("unexpected end of file",parser.LastToken());
+            delete element;
+        } else {
+            elements.insert(ElementMap::value_type(str, element));
         }
     }
 }