Added checking and tests for trailing garbage when decoding

This commit is contained in:
rxi
2018-03-10 14:28:50 +00:00
parent 19cc024df6
commit eb6e343c53
2 changed files with 9 additions and 4 deletions

View File

@@ -388,7 +388,12 @@ function json.decode(str)
if type(str) ~= "string" then
error("expected argument of type string, got " .. type(str))
end
return ( parse(str, next_char(str, 1, space_chars, true)) )
local res, idx = parse(str, next_char(str, 1, space_chars, true))
idx = next_char(str, idx, space_chars, true)
if idx <= #str then
decode_error(str, idx, "trailing garbage")
end
return res
end