Public repository of the QuickJS Javascript Engine.
Go to file
Renata Hodovan 33367bbfc6 Avoid excessive backtracking in regex engine during fuzzing
The regex engine is prone to excessive backtracking, leading to
timeouts, especially while fuzzing.
This commit introduces a backtracking counter and a limit of 1000
backtracking steps. When this limit is exceeded during fuzzing, the
regex engine aborts to prevent excessive backtracking. For this, the
FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION macro is used, as per
suggested by the documentation of libFuzzer.
2024-07-23 14:28:38 +02:00
.github/workflows Add CI targets, fix test_std.js (#247) 2024-03-03 21:57:38 +01:00
compat Improve js_os_exec (#295) 2024-05-10 01:57:55 +02:00
doc Strip trailing spaces 2024-02-10 16:19:17 +01:00
examples Strip trailing spaces 2024-02-10 16:19:17 +01:00
fuzz Add the missing fuzz_common.c (#292) 2024-05-09 12:36:12 +02:00
tests regexp: fix non greedy quantizers with zero length matches 2024-05-30 16:41:37 +02:00
.gitignore Add benchmarks target 2024-02-19 01:13:07 +01:00
Changelog update Changelog 2024-01-19 10:18:32 +01:00
cutils.c Prevent UB on memcpy and floating point conversions 2024-03-03 14:05:40 +01:00
cutils.h Improve Date.parse, small fixes 2024-03-22 00:47:17 +01:00
libbf.c Fix compilation with -DCONFIG_BIGNUM 2024-03-22 11:23:33 +01:00
libbf.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
libregexp-opcode.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
libregexp.c Avoid excessive backtracking in regex engine during fuzzing 2024-07-23 14:28:38 +02:00
libregexp.h Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
libunicode-table.h Improve unicode table handling (#286) 2024-05-05 12:10:24 +02:00
libunicode.c Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
libunicode.h Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
LICENSE Strip trailing spaces 2024-02-10 16:19:17 +01:00
list.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
Makefile Avoid excessive backtracking in regex engine during fuzzing 2024-07-23 14:28:38 +02:00
qjs.c Use malloc_usable_size() on any OS based on GNU libc 2024-07-21 10:24:01 +02:00
qjsc.c Strip trailing spaces 2024-02-10 16:19:17 +01:00
qjscalc.js Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs-atom.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs-libc.c Define a fallback PATH_MAX if not available 2024-07-21 10:24:01 +02:00
quickjs-libc.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs-opcode.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs.c Use malloc_usable_size() on any OS based on GNU libc 2024-07-21 10:24:01 +02:00
quickjs.h Add JS_StrictEq(), JS_SameValue(), and JS_SameValueZero() (#264) 2024-05-09 13:07:40 +02:00
readme.txt 2020-01-05 release 2020-09-06 18:53:08 +02:00
release.sh Strip trailing spaces 2024-02-10 16:19:17 +01:00
repl.js Improve repl regexp handling 2024-03-02 14:36:44 +01:00
run-test262.c Improve run-test262 2024-02-18 15:00:04 +01:00
test262_errors.txt fixed JS_GetScriptOrModuleName() in direct or indirect eval code 2024-01-13 11:15:06 +01:00
test262.conf Strip trailing spaces 2024-02-10 16:19:17 +01:00
test262o_errors.txt 2020-01-05 release 2020-09-06 18:53:08 +02:00
test262o.conf Fix test262o error 2024-02-10 20:54:29 +01:00
TODO update test results 2024-01-27 13:12:37 +01:00
unicode_download.sh Strip trailing spaces 2024-02-10 16:19:17 +01:00
unicode_gen_def.h updated to unicode 15.0.0 2023-12-05 16:51:16 +01:00
unicode_gen.c Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
VERSION Improve string concatenation hack 2024-02-15 10:30:04 +01:00

The main documentation is in doc/quickjs.pdf or doc/quickjs.html.