Validate & sanitize formspec fields (#3022)

This commit is contained in:
Lars Müller
2023-04-08 18:13:45 +02:00
committed by GitHub
parent 4c6e19968a
commit 833ed77620
4 changed files with 16 additions and 9 deletions

View File

@ -345,8 +345,11 @@ local function on_receive_fields(player, fields)
data.items = init_items
return true
elseif fields.key_enter_field == "filter" or fields.search then
local new = fields.filter:lower()
elseif (fields.key_enter_field == "filter" or fields.search)
and fields.filter then
local new = fields.filter:sub(1, 128) -- truncate to a sane length
:gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n)
:lower() -- search is case insensitive
if data.filter == new then
return
end