mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 06:38:10 +00:00

Note: clang only (see https://llvm.org/docs/LibFuzzer.html) - add FuzzJs which will run the LibJS parser on random javascript inputs - added a basic dictionary of javascript tokens To use fuzzer: CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -DENABLE_FUZZER_SANITIZER=1 .. Fuzzers/FuzzJs -dict=../Fuzzers/FuzzJs.dict
14 lines
383 B
C++
14 lines
383 B
C++
#include <AK/StringView.h>
|
|
#include <LibJS/Lexer.h>
|
|
#include <LibJS/Parser.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|
{
|
|
auto js = AK::StringView(static_cast<const unsigned char*>(data), size);
|
|
auto lexer = JS::Lexer(js);
|
|
auto parser = JS::Parser(lexer);
|
|
parser.parse_program();
|
|
return 0;
|
|
}
|