diff --git a/src/3rdparty/squirrel/squirrel/sqvm.cpp b/src/3rdparty/squirrel/squirrel/sqvm.cpp index 1637c359f3..8c1d3cae5d 100644 --- a/src/3rdparty/squirrel/squirrel/sqvm.cpp +++ b/src/3rdparty/squirrel/squirrel/sqvm.cpp @@ -1285,8 +1285,8 @@ bool SQVM::FallBackGet(const SQObjectPtr &self,const SQObjectPtr &key,SQObjectPt if(sq_isnumeric(key)){ SQInteger n=tointeger(key); std::string_view str = _stringval(self); - if(std::abs(n) < static_cast(str.size())){ - if(n<0)n=str.size()+n; + if (n < 0) n = str.size() + n; + if (n >= 0 && n < static_cast(str.size())) { dest=SQInteger(str[n]); return true; }