1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 12:27:35 +00:00

Fuzzers: Skip trying to parse invalid UTF-8 in LibJS Fuzzers

Invalid UTF-8 crashes JS::Script::Parse.
This commit is contained in:
Andrew Kaster 2023-03-17 12:59:56 -06:00 committed by Andreas Kling
parent f7d2392b6c
commit cabc99e953
2 changed files with 12 additions and 5 deletions

View file

@ -210,16 +210,20 @@ int main(int, char**)
auto js = StringView(static_cast<unsigned char const*>(data_buffer.data()), script_size);
auto parse_result = JS::Script::parse(js, interpreter->realm());
if (parse_result.is_error()) {
// FIXME: https://github.com/SerenityOS/serenity/issues/17899
if (!UTF8View(js).validate()) {
result = 1;
} else {
auto completion = interpreter->run(parse_result.value());
if (completion.is_error()) {
auto parse_result = JS::Script::parse(js, interpreter->realm());
if (parse_result.is_error()) {
result = 1;
} else {
auto completion = interpreter->run(parse_result.value());
if (completion.is_error()) {
result = 1;
}
}
}
fflush(stdout);
fflush(stderr);