diff --git a/AK/JsonParser.cpp b/AK/JsonParser.cpp index 8ba3987873..e7939a19ca 100644 --- a/AK/JsonParser.cpp +++ b/AK/JsonParser.cpp @@ -229,10 +229,14 @@ Optional JsonParser::parse_number() if (to_unsigned_result.has_value()) { value = JsonValue(to_unsigned_result.value()); } else { - auto number = number_string.to_int(); + auto number = number_string.to_int(); if (!number.has_value()) return {}; - value = JsonValue(number.value()); + if (number.value() <= AK::NumericLimits::max()) { + value = JsonValue((i32)number.value()); + } else { + value = JsonValue(number.value()); + } } #ifndef KERNEL }