From d226b72592b14abe476036ccf0c1fa965586f8d2 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Wed, 12 Jun 2024 22:54:05 +0300 Subject: [PATCH] Throw on invalid bone group indices in getActiveGroup --- apps/openmw/mwlua/animationbindings.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/openmw/mwlua/animationbindings.cpp b/apps/openmw/mwlua/animationbindings.cpp index fb3e64ba73..f20b22e35f 100644 --- a/apps/openmw/mwlua/animationbindings.cpp +++ b/apps/openmw/mwlua/animationbindings.cpp @@ -218,6 +218,8 @@ namespace MWLua getMutableAnimationOrThrow(ObjectVariant(object))->adjustSpeedMult(groupname, speed); }; api["getActiveGroup"] = [](const sol::object& object, MWRender::BoneGroup boneGroup) -> std::string_view { + if (boneGroup < 0 || boneGroup >= BoneGroup::Num_BoneGroups) + throw std::runtime_error("Invalid bonegroup: " + std::to_string(boneGroup)); return getConstAnimationOrThrow(ObjectVariant(object))->getActiveGroup(boneGroup); };