Răsfoiți Sursa

Q3DLoader: Fix possible material string overflow (#5556)

- closes https://github.com/assimp/assimp/issues/5555
Kim Kulling 1 an în urmă
părinte
comite
c05895f3c7
1 a modificat fișierele cu 4 adăugiri și 0 ștergeri
  1. 4 0
      code/AssetLib/Q3D/Q3DLoader.cpp

+ 4 - 0
code/AssetLib/Q3D/Q3DLoader.cpp

@@ -250,6 +250,10 @@ void Q3DImporter::InternReadFile(const std::string &pFile,
                 c = stream.GetI1();
                 while (c) {
                     mat.name.data[mat.name.length++] = c;
+                    if (mat.name.length == MAXLEN) {
+                        ASSIMP_LOG_ERROR("String ouverflow detected, skipped material name parsing.");
+                        break;
+                    }
                     c = stream.GetI1();
                 }