Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts.

This commit is contained in:
Petr Mikheev 2023-04-25 22:11:04 +02:00
parent 61578ca39b
commit c362b2efa6
12 changed files with 48 additions and 46 deletions

View file

@ -236,17 +236,17 @@ namespace LuaUtil
{
util["bitOr"] = [](unsigned a, sol::variadic_args va) {
for (const auto& v : va)
a |= v.as<unsigned>();
a |= cast<unsigned>(v);
return a;
};
util["bitAnd"] = [](unsigned a, sol::variadic_args va) {
for (const auto& v : va)
a &= v.as<unsigned>();
a &= cast<unsigned>(v);
return a;
};
util["bitXor"] = [](unsigned a, sol::variadic_args va) {
for (const auto& v : va)
a ^= v.as<unsigned>();
a ^= cast<unsigned>(v);
return a;
};
util["bitNot"] = [](unsigned a) { return ~a; };