Przeglądaj źródła

Fix memory leak in OpenGEXImporter (#6036)

UnionTech-Software 6 miesięcy temu
rodzic
commit
70459b4d1f
1 zmienionych plików z 2 dodań i 3 usunięć
  1. 2 3
      code/AssetLib/OpenGEX/OpenGEXImporter.cpp

+ 2 - 3
code/AssetLib/OpenGEX/OpenGEXImporter.cpp

@@ -289,14 +289,13 @@ bool OpenGEXImporter::CanRead(const std::string &file, IOSystem *pIOHandler, boo
 //------------------------------------------------------------------------------------------------
 void OpenGEXImporter::InternReadFile(const std::string &filename, aiScene *pScene, IOSystem *pIOHandler) {
     // open source file
-    IOStream *file = pIOHandler->Open(filename, "rb");
+    std::unique_ptr<IOStream> file(pIOHandler->Open(filename, "rb"));
     if (!file) {
         throw DeadlyImportError("Failed to open file ", filename);
     }
 
     std::vector<char> buffer;
-    TextFileToBuffer(file, buffer);
-    pIOHandler->Close(file);
+    TextFileToBuffer(file.get(), buffer);
 
     OpenDDLParser myParser;
     myParser.setLogCallback(&logDDLParserMessage);