From 6d8753e5a853a4d5a3aa01dea8407d6af8365d82 Mon Sep 17 00:00:00 2001 From: uramer Date: Sat, 21 Dec 2024 16:47:19 +0100 Subject: [PATCH] Fix crash if someone evil calls the .lines method on a non-file --- apps/openmw/mwlua/vfsbindings.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwlua/vfsbindings.cpp b/apps/openmw/mwlua/vfsbindings.cpp index e49a8718f5..4a71a29581 100644 --- a/apps/openmw/mwlua/vfsbindings.cpp +++ b/apps/openmw/mwlua/vfsbindings.cpp @@ -190,7 +190,9 @@ namespace MWLua return seek(lua, self, std::ios_base::cur, off); }); handle["lines"] = [](sol::this_state lua, sol::object self) { - return sol::as_function([lua, self]() { + return sol::as_function([lua, self]() -> sol::object { + if (!self.is()) + return sol::nil; FileHandle* handle = self.as(); validateFile(*handle); return readLineFromFile(lua, *handle);