Explorar o código

Check validity of archive without parsing

- closes https://github.com/assimp/assimp/issues/5392
Kim Kulling hai 1 ano
pai
achega
274f64cbf1
Modificáronse 1 ficheiros con 8 adicións e 3 borrados
  1. 8 3
      code/AssetLib/3MF/D3MFImporter.cpp

+ 8 - 3
code/AssetLib/3MF/D3MFImporter.cpp

@@ -81,12 +81,17 @@ static constexpr aiImporterDesc desc = {
     "3mf"
 };
 
-bool D3MFImporter::CanRead(const std::string &filename, IOSystem *pIOHandler, bool /*checkSig*/) const {
+bool D3MFImporter::CanRead(const std::string &filename, IOSystem *pIOHandler, bool ) const {
     if (!ZipArchiveIOSystem::isZipArchive(pIOHandler, filename)) {
         return false;
     }
-    D3MF::D3MFOpcPackage opcPackage(pIOHandler, filename);
-    return opcPackage.validate();
+    
+    ZipArchiveIOSystem archive(pIOHandler, rFile);
+    if (!mZipArchive->archive()) {
+        return false;
+    }
+
+    return true;
 }
 
 void D3MFImporter::SetupProperties(const Importer*) {