Bläddra i källkod

Merge pull request #5168 from sashashura/4879958521806848

Fix UNKNOWN READ in Assimp::SMDImporter::ParseNodeInfo
Kim Kulling 2 år sedan
förälder
incheckning
9a94b26cdc
1 ändrade filer med 4 tillägg och 1 borttagningar
  1. 4 1
      code/AssetLib/SMD/SMDLoader.cpp

+ 4 - 1
code/AssetLib/SMD/SMDLoader.cpp

@@ -837,7 +837,10 @@ void SMDImporter::ParseNodeInfo(const char* szCurrent, const char** szCurrentOut
     unsigned int iBone  = 0;
     SkipSpacesAndLineEnd(szCurrent,&szCurrent);
     if ( !ParseUnsignedInt(szCurrent,&szCurrent,iBone) || !SkipSpaces(szCurrent,&szCurrent)) {
-        LogErrorNoThrow("Unexpected EOF/EOL while parsing bone index");
+        throw DeadlyImportError("Unexpected EOF/EOL while parsing bone index");
+    }
+    if (iBone == UINT_MAX) {
+        LogErrorNoThrow("Invalid bone number while parsing bone index");
         SMDI_PARSE_RETURN;
     }
     // add our bone to the list