mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-23 01:41:59 -05:00
LibWeb: Initialize IDL any
values without default value to undefined
Previously this would generate the following code: JS::Value foo_value; if (!foo.is_undefined()) foo_value = foo; Which is dangerous as we're passing an empty value around, which could be exposed to user code again. This is fine with "= null", for which it also generates: else foo_value = JS::js_null(); So, in summary: a value of type `any`, not `required`, with no default value and no initializer from user code will now default to undefined instead of an empty value.
This commit is contained in:
parent
a9a7d65099
commit
7afd215e95
1 changed files with 1 additions and 1 deletions
|
@ -1079,7 +1079,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|||
)~~~");
|
||||
} else {
|
||||
scoped_generator.append(R"~~~(
|
||||
JS::Value @cpp_name@;
|
||||
JS::Value @cpp_name@ = JS::js_undefined();
|
||||
if (!@js_name@@js_suffix@.is_undefined())
|
||||
@cpp_name@ = @js_name@@js_suffix@;
|
||||
)~~~");
|
||||
|
|
Loading…
Reference in a new issue