Explorar o código

Fixes Heap-buffer-overflow in Assimp::ObjFileParser::getFace

sashashura %!s(int64=3) %!d(string=hai) anos
pai
achega
772cfdc757
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      code/AssetLib/Obj/ObjFileParser.cpp

+ 2 - 1
code/AssetLib/Obj/ObjFileParser.cpp

@@ -458,7 +458,8 @@ void ObjFileParser::getFace(aiPrimitiveType type) {
             iPos = 0;
         } else {
             //OBJ USES 1 Base ARRAYS!!!!
-            const int iVal(::atoi(&(*m_DataIt)));
+            std::string number(&(*m_DataIt), m_DataItEnd - m_DataIt);
+            const int iVal(::atoi(number.c_str()));
 
             // increment iStep position based off of the sign and # of digits
             int tmp = iVal;