From c9a013a45855e06f71293e919cc4d0be073e0d1a Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Wed, 27 Dec 2023 10:39:52 +0100 Subject: [PATCH] Make code more robust against corrupt database data --- tubelib/command.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tubelib/command.lua b/tubelib/command.lua index 032ac1f..d1b8cf8 100644 --- a/tubelib/command.lua +++ b/tubelib/command.lua @@ -23,7 +23,9 @@ local function deserialize(s) local tbl = {} for line in s:gmatch("[^;]+") do local num, spos = unpack(string.split(line, "=")) - tbl[num] = {pos = minetest.string_to_pos(spos)} + if num ~= nil and num ~= "" and spos ~= nil and spos ~= "" then + tbl[num] = {pos = minetest.string_to_pos(spos)} + end end return tbl end @@ -31,7 +33,9 @@ end local function serialize(data) local tbl = {} for k,v in pairs(data) do - tbl[#tbl+1] = k.."="..minetest.pos_to_string(v.pos) + if k ~= nil and k ~= "" and v ~= nil and v.pos ~= nil then + tbl[#tbl+1] = k.."="..minetest.pos_to_string(v.pos) + end end return table.concat(tbl, ";") end