mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:37:34 +00:00
AK+LibJS: Remove error-prone JsonValue constructor
Consider the following: JsonValue value { JsonValue::Type::Object }; value.as_object().set("foo"sv, "bar"sv); The JsonValue(Type) constructor does not initialize the underlying union that stores its value. Thus JsonValue::as_object() will A) refer to an uninitialized union member, B) deference that member. This constructor only has 2 users, both of which initialize the type to Type::Null. Rather than implementing unused functionality here, replace those uses with the default JsonValue constructor, and remove the faulty constructor.
This commit is contained in:
parent
53d73b95ce
commit
f630a5ca71
4 changed files with 3 additions and 9 deletions
|
@ -36,7 +36,6 @@ public:
|
|||
static ErrorOr<JsonValue> from_string(StringView);
|
||||
|
||||
JsonValue() = default;
|
||||
explicit JsonValue(Type);
|
||||
~JsonValue() { clear(); }
|
||||
|
||||
JsonValue(JsonValue const&);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue