From 6cad5bb726f289111ce60edd5b6e22c8f24ae66b Mon Sep 17 00:00:00 2001 From: payonel Date: Tue, 28 Nov 2017 22:44:42 -0800 Subject: [PATCH] protect lua shell from serialization oom failure --- .../opencomputers/loot/openos/lib/core/lua_shell.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua index bcff783ca..7f01aee54 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua @@ -114,8 +114,13 @@ while tty.isAvailable() do end io.stderr:write(tostring(result[2]) .. "\n") else - for i = 2, result.n do - io.write(require("serialization").serialize(result[i], true) .. "\t") + local ok, why = pcall(function() + for i = 2, result.n do + io.write(require("serialization").serialize(result[i], true) .. "\t") + end + end) + if not ok then + io.stderr:write("crashed serializing result: ", tostring(why)) end if tty.getCursor() > 1 then io.write("\n")