@port-labs/jq-node-bindings 0.0.13 → 0.0.15-dev1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/binding.gyp +41 -19
- package/configure +1 -1
- package/deps/jq/.gitattributes +12 -0
- package/deps/jq/AUTHORS +149 -43
- package/deps/jq/COPYING +75 -1
- package/deps/jq/ChangeLog +2 -2
- package/deps/jq/Makefile.am +106 -65
- package/deps/jq/NEWS.md +391 -0
- package/deps/jq/README.md +54 -52
- package/deps/jq/SECURITY.md +7 -0
- package/deps/jq/compile-ios.sh +106 -102
- package/deps/jq/configure.ac +72 -59
- package/deps/jq/docs/Pipfile +14 -0
- package/deps/jq/docs/Pipfile.lock +415 -0
- package/deps/jq/docs/README.md +15 -14
- package/deps/jq/docs/build_manpage.py +251 -0
- package/deps/jq/docs/build_mantests.py +21 -0
- package/deps/jq/docs/build_website.py +95 -0
- package/deps/jq/docs/content/download/default.yml +249 -0
- package/deps/jq/docs/content/index.yml +83 -0
- package/deps/jq/docs/content/{3.manual/v1.6 → manual/dev}/manual.yml +992 -452
- package/deps/jq/docs/content/{3.manual → manual}/v1.3/manual.yml +105 -116
- package/deps/jq/docs/content/{3.manual → manual}/v1.4/manual.yml +122 -129
- package/deps/jq/docs/content/{3.manual → manual}/v1.5/manual.yml +313 -262
- package/deps/jq/docs/content/{3.manual → manual/v1.6}/manual.yml +407 -332
- package/deps/jq/docs/content/manual/v1.7/manual.yml +3697 -0
- package/deps/jq/docs/content/tutorial/default.yml +337 -0
- package/deps/jq/docs/manual_schema.yml +60 -0
- package/deps/jq/docs/public/css/style.css +99 -0
- package/deps/jq/docs/public/icon.png +0 -0
- package/deps/jq/docs/public/icon.svg +1 -0
- package/deps/jq/docs/public/jq.svg +1 -0
- package/deps/jq/docs/public/js/manual-search.js +31 -49
- package/deps/jq/docs/templates/default.html.j2 +31 -0
- package/deps/jq/docs/templates/index.html.j2 +58 -0
- package/deps/jq/docs/templates/manual.html.j2 +120 -0
- package/deps/jq/docs/templates/shared/_footer.html.j2 +14 -0
- package/deps/jq/docs/templates/shared/_head.html.j2 +23 -0
- package/deps/jq/docs/templates/shared/_navbar.html.j2 +40 -0
- package/deps/jq/docs/validate_manual_schema.py +19 -0
- package/deps/jq/jq.1.prebuilt +1102 -294
- package/deps/jq/jq.spec +2 -3
- package/deps/jq/libjq.pc.in +11 -0
- package/deps/jq/m4/ax_pthread.m4 +522 -0
- package/deps/jq/modules/oniguruma/.travis.yml +17 -0
- package/deps/jq/modules/oniguruma/CMakeLists.txt +206 -41
- package/deps/jq/modules/oniguruma/COPYING +23 -25
- package/deps/jq/modules/oniguruma/HISTORY +368 -23
- package/deps/jq/modules/oniguruma/Makefile.am +61 -7
- package/deps/jq/modules/oniguruma/README +34 -20
- package/deps/jq/modules/oniguruma/README.md +106 -33
- package/deps/jq/modules/oniguruma/README_japanese +183 -0
- package/deps/jq/modules/oniguruma/autogen.sh +9 -0
- package/deps/jq/modules/oniguruma/cmake/Config.cmake.in +4 -0
- package/deps/jq/modules/oniguruma/configure.ac +66 -55
- package/deps/jq/modules/oniguruma/doc/API +485 -42
- package/deps/jq/modules/oniguruma/doc/API.ja +732 -293
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.API +397 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.API.ja +393 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN +95 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN.ja +93 -0
- package/deps/jq/modules/oniguruma/doc/FAQ +3 -3
- package/deps/jq/modules/oniguruma/doc/FAQ.ja +8 -8
- package/deps/jq/modules/oniguruma/doc/RE +223 -63
- package/deps/jq/modules/oniguruma/doc/RE.ja +420 -265
- package/deps/jq/modules/oniguruma/doc/SYNTAX.md +1091 -0
- package/deps/jq/modules/oniguruma/doc/UNICODE_PROPERTIES +840 -697
- package/deps/jq/modules/oniguruma/harnesses/ascii_compatible.dict +113 -0
- package/deps/jq/modules/oniguruma/harnesses/base.c +749 -0
- package/deps/jq/modules/oniguruma/harnesses/deluxe.c +206 -0
- package/deps/jq/modules/oniguruma/harnesses/dict_conv.py +72 -0
- package/deps/jq/modules/oniguruma/harnesses/fuzzer.options +2 -0
- package/deps/jq/modules/oniguruma/harnesses/libfuzzer-onig.cpp +45 -0
- package/deps/jq/modules/oniguruma/harnesses/regset.c +392 -0
- package/deps/jq/modules/oniguruma/index.html +16 -5
- package/deps/jq/modules/oniguruma/index_ja.html +16 -5
- package/deps/jq/modules/oniguruma/make_win.bat +5 -0
- package/deps/jq/modules/oniguruma/make_win32.bat +5 -3
- package/deps/jq/modules/oniguruma/make_win64.bat +5 -3
- package/deps/jq/modules/oniguruma/onig-config.cmake.in +80 -0
- package/deps/jq/modules/oniguruma/onig-config.in +1 -1
- package/deps/jq/modules/oniguruma/oniguruma.pc.cmake.in +1 -1
- package/deps/jq/modules/oniguruma/oniguruma.pc.in +0 -1
- package/deps/jq/modules/oniguruma/sample/CMakeLists.txt +9 -2
- package/deps/jq/modules/oniguruma/sample/Makefile.am +24 -5
- package/deps/jq/modules/oniguruma/sample/bug_fix.c +13 -51
- package/deps/jq/modules/oniguruma/sample/callback_each_match.c +168 -0
- package/deps/jq/modules/oniguruma/sample/callout.c +268 -0
- package/deps/jq/modules/oniguruma/sample/count.c +125 -0
- package/deps/jq/modules/oniguruma/sample/crnl.c +6 -4
- package/deps/jq/modules/oniguruma/sample/echo.c +136 -0
- package/deps/jq/modules/oniguruma/sample/encode.c +53 -146
- package/deps/jq/modules/oniguruma/sample/listcap.c +18 -10
- package/deps/jq/modules/oniguruma/sample/names.c +10 -6
- package/deps/jq/modules/oniguruma/sample/posix.c +13 -2
- package/deps/jq/modules/oniguruma/sample/regset.c +95 -0
- package/deps/jq/modules/oniguruma/sample/scan.c +20 -6
- package/deps/jq/modules/oniguruma/sample/simple.c +8 -4
- package/deps/jq/modules/oniguruma/sample/sql.c +13 -8
- package/deps/jq/modules/oniguruma/sample/syntax.c +11 -10
- package/deps/jq/modules/oniguruma/sample/user_property.c +12 -7
- package/deps/jq/modules/oniguruma/src/Makefile.am +41 -15
- package/deps/jq/modules/oniguruma/src/Makefile.windows +196 -183
- package/deps/jq/modules/oniguruma/src/ascii.c +64 -7
- package/deps/jq/modules/oniguruma/src/big5.c +25 -15
- package/deps/jq/modules/oniguruma/src/config.h.cmake.in +7 -22
- package/deps/jq/modules/oniguruma/src/config.h.win32 +56 -84
- package/deps/jq/modules/oniguruma/src/config.h.win64 +56 -84
- package/deps/jq/modules/oniguruma/src/config.h.windows.in +62 -0
- package/deps/jq/modules/oniguruma/src/cp1251.c +14 -8
- package/deps/jq/modules/oniguruma/src/euc_jp.c +28 -30
- package/deps/jq/modules/oniguruma/src/euc_jp_prop.c +25 -32
- package/deps/jq/modules/oniguruma/src/euc_jp_prop.gperf +1 -2
- package/deps/jq/modules/oniguruma/src/euc_kr.c +27 -15
- package/deps/jq/modules/oniguruma/src/euc_tw.c +40 -17
- package/deps/jq/modules/oniguruma/src/gb18030.c +177 -119
- package/deps/jq/modules/oniguruma/src/gperf_fold_key_conv.py +12 -8
- package/deps/jq/modules/oniguruma/src/gperf_unfold_key_conv.py +8 -6
- package/deps/jq/modules/oniguruma/src/iso8859_1.c +92 -91
- package/deps/jq/modules/oniguruma/src/iso8859_10.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_11.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_13.c +13 -33
- package/deps/jq/modules/oniguruma/src/iso8859_14.c +13 -30
- package/deps/jq/modules/oniguruma/src/iso8859_15.c +13 -34
- package/deps/jq/modules/oniguruma/src/iso8859_16.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_2.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_3.c +13 -33
- package/deps/jq/modules/oniguruma/src/iso8859_4.c +13 -32
- package/deps/jq/modules/oniguruma/src/iso8859_5.c +16 -23
- package/deps/jq/modules/oniguruma/src/iso8859_6.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_7.c +14 -29
- package/deps/jq/modules/oniguruma/src/iso8859_8.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_9.c +13 -33
- package/deps/jq/modules/oniguruma/src/koi8.c +14 -27
- package/deps/jq/modules/oniguruma/src/koi8_r.c +12 -19
- package/deps/jq/modules/oniguruma/src/make_property.sh +21 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +7 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb_data.py +267 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_fold.sh +25 -11
- package/deps/jq/modules/oniguruma/src/make_unicode_fold_data.py +206 -26
- package/deps/jq/modules/oniguruma/src/make_unicode_property.sh +19 -10
- package/deps/jq/modules/oniguruma/src/make_unicode_property_data.py +474 -375
- package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +7 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_wb_data.py +267 -0
- package/deps/jq/modules/oniguruma/src/mktable.c +28 -24
- package/deps/jq/modules/oniguruma/src/onig_init.c +2 -2
- package/deps/jq/modules/oniguruma/src/oniggnu.h +7 -5
- package/deps/jq/modules/oniguruma/src/onigposix.h +40 -16
- package/deps/jq/modules/oniguruma/src/oniguruma.h +357 -107
- package/deps/jq/modules/oniguruma/src/regcomp.c +6214 -3933
- package/deps/jq/modules/oniguruma/src/regenc.c +197 -120
- package/deps/jq/modules/oniguruma/src/regenc.h +106 -63
- package/deps/jq/modules/oniguruma/src/regerror.c +112 -91
- package/deps/jq/modules/oniguruma/src/regexec.c +4876 -2010
- package/deps/jq/modules/oniguruma/src/regext.c +8 -8
- package/deps/jq/modules/oniguruma/src/reggnu.c +13 -17
- package/deps/jq/modules/oniguruma/src/regint.h +757 -491
- package/deps/jq/modules/oniguruma/src/regparse.c +7204 -3240
- package/deps/jq/modules/oniguruma/src/regparse.h +361 -218
- package/deps/jq/modules/oniguruma/src/regposerr.c +49 -9
- package/deps/jq/modules/oniguruma/src/regposix.c +106 -24
- package/deps/jq/modules/oniguruma/src/regsyntax.c +66 -13
- package/deps/jq/modules/oniguruma/src/regtrav.c +1 -1
- package/deps/jq/modules/oniguruma/src/regversion.c +6 -4
- package/deps/jq/modules/oniguruma/src/sjis.c +23 -52
- package/deps/jq/modules/oniguruma/src/sjis_prop.c +25 -32
- package/deps/jq/modules/oniguruma/src/sjis_prop.gperf +1 -2
- package/deps/jq/modules/oniguruma/src/st.c +248 -249
- package/deps/jq/modules/oniguruma/src/st.h +4 -5
- package/deps/jq/modules/oniguruma/src/unicode.c +869 -294
- package/deps/jq/modules/oniguruma/src/unicode_egcb_data.c +1419 -0
- package/deps/jq/modules/oniguruma/src/unicode_fold1_key.c +1829 -1300
- package/deps/jq/modules/oniguruma/src/unicode_fold2_key.c +32 -9
- package/deps/jq/modules/oniguruma/src/unicode_fold3_key.c +32 -9
- package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +1210 -984
- package/deps/jq/modules/oniguruma/src/unicode_property_data.c +22480 -15198
- package/deps/jq/modules/oniguruma/src/unicode_property_data_posix.c +1463 -591
- package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +1958 -1418
- package/deps/jq/modules/oniguruma/src/unicode_wb_data.c +1106 -0
- package/deps/jq/modules/oniguruma/src/utf16_be.c +90 -49
- package/deps/jq/modules/oniguruma/src/utf16_le.c +80 -49
- package/deps/jq/modules/oniguruma/src/utf32_be.c +14 -42
- package/deps/jq/modules/oniguruma/src/utf32_le.c +13 -40
- package/deps/jq/modules/oniguruma/src/utf8.c +33 -78
- package/deps/jq/modules/oniguruma/test/CMakeLists.txt +55 -0
- package/deps/jq/modules/oniguruma/test/Makefile.am +65 -10
- package/deps/jq/modules/oniguruma/test/test.sh +17 -0
- package/deps/jq/modules/oniguruma/test/test_back.c +1450 -0
- package/deps/jq/modules/oniguruma/test/test_options.c +228 -0
- package/deps/jq/modules/oniguruma/test/test_regset.c +466 -0
- package/deps/jq/modules/oniguruma/test/test_syntax.c +365 -0
- package/deps/jq/modules/oniguruma/test/test_utf8.c +1761 -0
- package/deps/jq/modules/oniguruma/test/testc.c +128 -88
- package/deps/jq/modules/oniguruma/test/testp.c +613 -0
- package/deps/jq/modules/oniguruma/test/testu.c +75 -28
- package/deps/jq/modules/oniguruma/tis-ci/stub.c +3 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_back.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_regset.config +20 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_syntax.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_utf8.config +25 -0
- package/deps/jq/modules/oniguruma/tis-ci/testc.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/testu.config +24 -0
- package/deps/jq/modules/oniguruma/tis.config +1336 -0
- package/deps/jq/modules/oniguruma/windows/CMakeLists.txt +8 -0
- package/deps/jq/modules/oniguruma/windows/testc.c +865 -869
- package/deps/jq/scripts/update-website +6 -5
- package/deps/jq/scripts/version +10 -7
- package/deps/jq/sig/jq-release-new.key +29 -0
- package/deps/jq/sig/v1.4/sha256sum.txt +1 -0
- package/deps/jq/sig/v1.5/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.5rc1/sha256sum.txt +1 -0
- package/deps/jq/sig/v1.5rc2/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.6/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.7/jq-1.7.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7/jq-1.7.zip.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7/sha256sum.txt +23 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
- package/deps/jq/sig/v1.7rc1/jq-1.7rc1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-1.7rc1.zip.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc1/sha256sum.txt +23 -0
- package/deps/jq/sig/v1.7rc2/jq-1.7rc2.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-1.7rc2.zip.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc2/sha256sum.txt +23 -0
- package/deps/jq/src/builtin.c +537 -343
- package/deps/jq/src/builtin.h +18 -0
- package/deps/jq/src/builtin.jq +116 -143
- package/deps/jq/src/bytecode.h +8 -4
- package/deps/jq/src/compile.c +157 -143
- package/deps/jq/src/compile.h +3 -4
- package/deps/jq/src/decNumber/ICU-license.html +45 -0
- package/deps/jq/src/decNumber/decBasic.c +3908 -0
- package/deps/jq/src/decNumber/decCommon.c +1835 -0
- package/deps/jq/src/decNumber/decContext.c +437 -0
- package/deps/jq/src/decNumber/decContext.h +254 -0
- package/deps/jq/src/decNumber/decDPD.h +1185 -0
- package/deps/jq/src/decNumber/decDouble.c +140 -0
- package/deps/jq/src/decNumber/decDouble.h +155 -0
- package/deps/jq/src/decNumber/decNumber.c +8143 -0
- package/deps/jq/src/decNumber/decNumber.h +182 -0
- package/deps/jq/src/decNumber/decNumberLocal.h +757 -0
- package/deps/jq/src/decNumber/decPacked.c +220 -0
- package/deps/jq/src/decNumber/decPacked.h +52 -0
- package/deps/jq/src/decNumber/decQuad.c +135 -0
- package/deps/jq/src/decNumber/decQuad.h +177 -0
- package/deps/jq/src/decNumber/decSingle.c +71 -0
- package/deps/jq/src/decNumber/decSingle.h +86 -0
- package/deps/jq/src/decNumber/decimal128.c +553 -0
- package/deps/jq/src/decNumber/decimal128.h +81 -0
- package/deps/jq/src/decNumber/decimal32.c +476 -0
- package/deps/jq/src/decNumber/decimal32.h +81 -0
- package/deps/jq/src/decNumber/decimal64.c +839 -0
- package/deps/jq/src/decNumber/decimal64.h +83 -0
- package/deps/jq/src/decNumber/decnumber.pdf +0 -0
- package/deps/jq/src/decNumber/example1.c +38 -0
- package/deps/jq/src/decNumber/example2.c +52 -0
- package/deps/jq/src/decNumber/example3.c +64 -0
- package/deps/jq/src/decNumber/example4.c +61 -0
- package/deps/jq/src/decNumber/example5.c +36 -0
- package/deps/jq/src/decNumber/example6.c +61 -0
- package/deps/jq/src/decNumber/example7.c +35 -0
- package/deps/jq/src/decNumber/example8.c +39 -0
- package/deps/jq/src/decNumber/readme.txt +81 -0
- package/deps/jq/src/exec_stack.h +5 -3
- package/deps/jq/src/execute.c +126 -44
- package/deps/jq/src/inject_errors.c +0 -2
- package/deps/jq/src/jq.h +10 -1
- package/deps/jq/src/jq_test.c +222 -11
- package/deps/jq/src/jv.c +807 -176
- package/deps/jq/src/jv.h +22 -1
- package/deps/jq/src/jv_alloc.c +33 -26
- package/deps/jq/src/jv_alloc.h +0 -11
- package/deps/jq/src/jv_aux.c +153 -67
- package/deps/jq/src/jv_dtoa.c +12 -2
- package/deps/jq/src/jv_dtoa_tsd.c +51 -0
- package/deps/jq/src/jv_dtoa_tsd.h +4 -0
- package/deps/jq/src/jv_parse.c +70 -15
- package/deps/jq/src/jv_print.c +56 -60
- package/deps/jq/src/jv_private.h +7 -0
- package/deps/jq/src/jv_thread.h +76 -0
- package/deps/jq/src/jv_unicode.c +18 -0
- package/deps/jq/src/jv_unicode.h +2 -0
- package/deps/jq/src/lexer.c +782 -543
- package/deps/jq/src/lexer.h +438 -64
- package/deps/jq/src/lexer.l +10 -3
- package/deps/jq/src/libm.h +16 -6
- package/deps/jq/src/linker.c +97 -40
- package/deps/jq/src/locfile.c +2 -1
- package/deps/jq/src/main.c +384 -336
- package/deps/jq/src/opcode_list.h +5 -2
- package/deps/jq/src/parser.c +2260 -1898
- package/deps/jq/src/parser.h +115 -98
- package/deps/jq/src/parser.y +124 -89
- package/deps/jq/src/util.c +854 -55
- package/deps/jq/src/util.h +6 -4
- package/deps/jq/tests/jq.test +762 -26
- package/deps/jq/tests/jq_fuzz_compile.c +27 -0
- package/deps/jq/tests/jq_fuzz_execute.cpp +42 -0
- package/deps/jq/tests/jq_fuzz_fixed.cpp +297 -0
- package/deps/jq/tests/jq_fuzz_load_file.c +28 -0
- package/deps/jq/tests/jq_fuzz_parse.c +21 -0
- package/deps/jq/tests/jq_fuzz_parse_extended.c +36 -0
- package/deps/jq/tests/jq_fuzz_parse_stream.c +21 -0
- package/deps/jq/tests/local.supp +14 -0
- package/deps/jq/tests/man.test +979 -0
- package/deps/jq/tests/manonig.test +76 -0
- package/deps/jq/tests/manonigtest +5 -0
- package/deps/jq/tests/mantest +1 -2
- package/deps/jq/tests/modules/home2/.jq/g.jq +1 -0
- package/deps/jq/tests/modules/shadow1.jq +2 -0
- package/deps/jq/tests/modules/shadow2.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order0.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order1.jq +1 -1
- package/deps/jq/tests/modules/test_bind_order2.jq +0 -1
- package/deps/jq/tests/no-main-program.jq +1 -0
- package/deps/jq/tests/onig.test +77 -2
- package/deps/jq/tests/setup +7 -2
- package/deps/jq/tests/shtest +478 -59
- package/deps/jq/tests/uri.test +38 -0
- package/deps/jq/tests/uritest +5 -0
- package/deps/jq/tests/yes-main-program.jq +2 -0
- package/lib/index.js +3 -0
- package/lib/jq.js +15 -1
- package/lib/templateAsync.js +137 -0
- package/package.json +7 -7
- package/src/binding.cc +623 -146
- package/src/binding.h +3 -4
- package/test/santiy-async.test.js +171 -0
- package/test/santiy.test.js +2 -2
- package/test/template-async.test.js +182 -0
- package/test/template.test.js +3 -3
- package/deps/jq/.travis.yml +0 -202
- package/deps/jq/NEWS +0 -89
- package/deps/jq/appveyor.yml +0 -53
- package/deps/jq/docs/Gemfile +0 -7
- package/deps/jq/docs/Gemfile.lock +0 -63
- package/deps/jq/docs/Rakefile +0 -24
- package/deps/jq/docs/Rakefile.manual +0 -49
- package/deps/jq/docs/Rakefile.website +0 -76
- package/deps/jq/docs/content/1.tutorial/default.yml +0 -327
- package/deps/jq/docs/content/2.download/default.yml +0 -193
- package/deps/jq/docs/content/index/index.yml +0 -73
- package/deps/jq/docs/public/css/base.scss +0 -181
- package/deps/jq/docs/public/jq.png +0 -0
- package/deps/jq/docs/site.yml +0 -9
- package/deps/jq/docs/templates/default.liquid +0 -34
- package/deps/jq/docs/templates/index.liquid +0 -73
- package/deps/jq/docs/templates/manual.liquid +0 -99
- package/deps/jq/docs/templates/shared/_footer.liquid +0 -10
- package/deps/jq/docs/templates/shared/_head.liquid +0 -17
- package/deps/jq/docs/templates/shared/_navbar.liquid +0 -27
- package/deps/jq/modules/oniguruma/README.ja +0 -195
- package/deps/jq/modules/oniguruma/cmake/dist.cmake +0 -321
- package/deps/jq/modules/oniguruma/contributed/libfuzzer-onig.cpp +0 -31
- package/deps/jq/modules/oniguruma/dist.info +0 -10
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold1_key.c +0 -2250
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold2_key.c +0 -203
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold3_key.c +0 -113
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold_data.c +0 -1225
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data.c +0 -24742
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data_posix.c +0 -4846
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_unfold_key.c +0 -2571
- /package/deps/jq/sig/{jq-release.key → jq-release-old.key} +0 -0
- /package/deps/jq/tests/modules/{.jq → home1/.jq} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#include <stdint.h>
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
#include <string.h>
|
|
4
|
+
|
|
5
|
+
#include "jq.h"
|
|
6
|
+
|
|
7
|
+
int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
8
|
+
// Creat null-terminated string
|
|
9
|
+
char *null_terminated = (char *)malloc(size + 1);
|
|
10
|
+
memcpy(null_terminated, (char *)data, size);
|
|
11
|
+
null_terminated[size] = '\0';
|
|
12
|
+
|
|
13
|
+
// Fuzzer entrypoint
|
|
14
|
+
jq_state *jq = NULL;
|
|
15
|
+
jq = jq_init();
|
|
16
|
+
if (jq != NULL) {
|
|
17
|
+
if (jq_compile(jq, null_terminated)) {
|
|
18
|
+
jq_dump_disassembly(jq, 2);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
jq_teardown(&jq);
|
|
22
|
+
|
|
23
|
+
// Free the null-terminated string
|
|
24
|
+
free(null_terminated);
|
|
25
|
+
|
|
26
|
+
return 0;
|
|
27
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#include <fuzzer/FuzzedDataProvider.h>
|
|
2
|
+
#include <string>
|
|
3
|
+
|
|
4
|
+
#include "jq.h"
|
|
5
|
+
#include "jv.h"
|
|
6
|
+
|
|
7
|
+
// Fuzzer inspired by /src/jq_test.c
|
|
8
|
+
// The goal is to have the fuzzer execute the functions:
|
|
9
|
+
// jq_compile -> jv_parse -> jq_next.
|
|
10
|
+
extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
11
|
+
FuzzedDataProvider fdp(data, size);
|
|
12
|
+
std::string prog_payload = fdp.ConsumeRandomLengthString();
|
|
13
|
+
std::string parse_payload1 = fdp.ConsumeRandomLengthString();
|
|
14
|
+
std::string parse_payload2 = fdp.ConsumeRandomLengthString();
|
|
15
|
+
|
|
16
|
+
jq_state *jq = NULL;
|
|
17
|
+
jq = jq_init();
|
|
18
|
+
if (jq != NULL) {
|
|
19
|
+
jq_set_attr(jq, jv_string("JQ_ORIGIN"), jv_string("/tmp/"));
|
|
20
|
+
|
|
21
|
+
if (jq_compile(jq, prog_payload.c_str())) {
|
|
22
|
+
// Process to jv_parse and then jv_next
|
|
23
|
+
jv input = jv_parse(parse_payload1.c_str());
|
|
24
|
+
if (jv_is_valid(input)) {
|
|
25
|
+
jq_start(jq, input, 0);
|
|
26
|
+
jv next = jv_parse(parse_payload2.c_str());
|
|
27
|
+
if (jv_is_valid(next)) {
|
|
28
|
+
jv actual = jq_next(jq);
|
|
29
|
+
jv_free(actual);
|
|
30
|
+
}
|
|
31
|
+
jv_free(next);
|
|
32
|
+
} else {
|
|
33
|
+
// Only free if input is invalid as otherwise jq_teardown
|
|
34
|
+
// frees it.
|
|
35
|
+
jv_free(input);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
jq_teardown(&jq);
|
|
40
|
+
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
#include <fuzzer/FuzzedDataProvider.h>
|
|
2
|
+
#include <string>
|
|
3
|
+
|
|
4
|
+
#include "jq.h"
|
|
5
|
+
#include "jv.h"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
const char *jq_progs[] = {
|
|
9
|
+
". / \", \"",
|
|
10
|
+
".[]",
|
|
11
|
+
"$ENV.PAGER",
|
|
12
|
+
".[0]",
|
|
13
|
+
". < 0.12345678901234567890123456788",
|
|
14
|
+
".[] == 1",
|
|
15
|
+
".[] | (1 / .)?",
|
|
16
|
+
"10 / . * 3",
|
|
17
|
+
"[1,2,empty,3]",
|
|
18
|
+
"1, empty, 2",
|
|
19
|
+
"[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]",
|
|
20
|
+
".[-2:]",
|
|
21
|
+
".[-2]",
|
|
22
|
+
".[2]",
|
|
23
|
+
"[ .[] | . * 2]",
|
|
24
|
+
".[2:4]",
|
|
25
|
+
"(. + 2) * 5",
|
|
26
|
+
".[:3]",
|
|
27
|
+
".[4,2]",
|
|
28
|
+
"42 and \"a string\"",
|
|
29
|
+
"4 - .a",
|
|
30
|
+
". < 5",
|
|
31
|
+
".. | .a?",
|
|
32
|
+
"[.[] | .a?]",
|
|
33
|
+
".a + 1",
|
|
34
|
+
"{a: 1} + {b: 2} + {c: 3} + {a: 42}",
|
|
35
|
+
".a + .b",
|
|
36
|
+
".a = .b",
|
|
37
|
+
".a |= .b",
|
|
38
|
+
"add",
|
|
39
|
+
"all",
|
|
40
|
+
".a + null",
|
|
41
|
+
"any",
|
|
42
|
+
".[] as [$a, $b] | {a: $a, b: $b}",
|
|
43
|
+
". as [$a, $b, {c: $c}] | $a + $b + $c",
|
|
44
|
+
".[] as {$a, $b, c: {$d}} ?// {$a, $b, c: [{$e}]} | {$a, $b, $d, $e}",
|
|
45
|
+
".[] as {$a, $b, c: {$d, $e}} ?// {$a, $b, c: [{$d, $e}]} | {$a, $b, "
|
|
46
|
+
"$d, $e}",
|
|
47
|
+
".[] as [$a] ?// [$b] | if $a != null then error(\"err: \\($a)\") else "
|
|
48
|
+
"{$a,$b} end",
|
|
49
|
+
". as $big | [$big, $big + 1] | map(. > "
|
|
50
|
+
"10000000000000000000000000000000)",
|
|
51
|
+
". as $dot|fromstream($dot|tostream)|.==$dot",
|
|
52
|
+
". as $i|[(.*2|. as $i| $i), $i]",
|
|
53
|
+
"ascii_upcase",
|
|
54
|
+
".bar as $x | .foo | . + $x",
|
|
55
|
+
"@base64",
|
|
56
|
+
"@base64d",
|
|
57
|
+
". == {\"b\": {\"d\": (4 + 1e-20), \"c\": 3}, \"a\":1}",
|
|
58
|
+
"bsearch(0)",
|
|
59
|
+
"bsearch(4) as $ix | if $ix < 0 then .[-(1+$ix)] = 4 else . end",
|
|
60
|
+
"capture(\"(?<a>[a-z]+)-(?<n>[0-9]+)\")",
|
|
61
|
+
"capture(\"(?<a>[a-z]+)-(?<n>[0-9]+)\")",
|
|
62
|
+
"combinations",
|
|
63
|
+
"combinations(2)",
|
|
64
|
+
"contains(\"bar\")",
|
|
65
|
+
"contains([\"baz\", \"bar\"])",
|
|
66
|
+
"contains([\"bazzzzz\", \"bar\"])",
|
|
67
|
+
"contains({foo: 12, bar: [{barp: 15}]})",
|
|
68
|
+
"def addvalue(f): f as $x | map(. + $x); addvalue(.[0])",
|
|
69
|
+
"def addvalue(f): . + [f]; map(addvalue(.[0]))",
|
|
70
|
+
"def while(cond; update): def _while: if cond then ., (update | "
|
|
71
|
+
"_while) else empty end; _while; [while(.<100; .*2)]",
|
|
72
|
+
"del(.[1, 2])",
|
|
73
|
+
"del(.foo)",
|
|
74
|
+
"delpaths([[\"a\",\"b\"]])",
|
|
75
|
+
"empty // 42",
|
|
76
|
+
"[.[]|endswith(\"foo\")]",
|
|
77
|
+
"env.PAGER",
|
|
78
|
+
"explode",
|
|
79
|
+
". == false",
|
|
80
|
+
"(false, null, 1) // 42",
|
|
81
|
+
"(false, null, 1) | . // 42",
|
|
82
|
+
"flatten",
|
|
83
|
+
"flatten(1)",
|
|
84
|
+
"floor",
|
|
85
|
+
".[\"foo\"]",
|
|
86
|
+
".[\"foo\"]?",
|
|
87
|
+
".foo",
|
|
88
|
+
".foo?",
|
|
89
|
+
".foo[]",
|
|
90
|
+
"[.foo?]",
|
|
91
|
+
".foo += 1",
|
|
92
|
+
".foo // 42",
|
|
93
|
+
".foo, .bar",
|
|
94
|
+
"foreach .[] as $item (0; . + $item)",
|
|
95
|
+
"foreach .[] as $item (0; . + $item; [$item, . * 2])",
|
|
96
|
+
"foreach .[] as $item (0; . + 1; {index: ., $item})",
|
|
97
|
+
"fromdate",
|
|
98
|
+
"from_entries",
|
|
99
|
+
"fromstream(1|truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]]))",
|
|
100
|
+
"getpath([\"a\",\"b\"])",
|
|
101
|
+
"[getpath([\"a\",\"b\"], [\"a\",\"c\"])]",
|
|
102
|
+
"group_by(.foo)",
|
|
103
|
+
"[.[] | gsub(\", \"; \":\")]",
|
|
104
|
+
"gsub(\"$\"; \"a\"; \"g\")",
|
|
105
|
+
"gsub(\"^\"; \"a\")",
|
|
106
|
+
"[gsub(\"(?<a>.)\"; \"\\(.a|ascii_upcase)\", \"\\(.a|ascii_downcase)\", "
|
|
107
|
+
"\"c\")]",
|
|
108
|
+
"gsub(\"^.*?a\"; \"b\")",
|
|
109
|
+
"gsub(\"^.*a\"; \"b\")",
|
|
110
|
+
"gsub(\"a\";\"b\")",
|
|
111
|
+
"gsub(\"\"; \"a\"; \"g\")",
|
|
112
|
+
"gsub(\"\"; \"a\"; \"g\")",
|
|
113
|
+
"gsub(\"[^a-z]*(?<x>[a-z]*)\"; \"Z\\(.x)\")",
|
|
114
|
+
"gsub(\"\\b(?<x>.)\"; \"\\(.x|ascii_downcase)\")",
|
|
115
|
+
"gsub(\"(?<d>\\d)\"; \":\\(.d);\")",
|
|
116
|
+
"gsub(\"^\"; \"\"; \"g\")",
|
|
117
|
+
"[gsub(\"p\"; \"a\", \"b\")]",
|
|
118
|
+
"gsub(\"(?=u)\"; \"u\")",
|
|
119
|
+
"gsub(\"(.*)\"; \"\"; \"x\")",
|
|
120
|
+
"gsub(\"(?<x>.)[^a]*\"; \"+\\(.x)-\")",
|
|
121
|
+
"gsub(\"(?<x>.)(?<y>[0-9])\"; \"\\(.x|ascii_downcase)\\(.y)\")",
|
|
122
|
+
"@html",
|
|
123
|
+
"if . == 0 then \"zero\" elif . == 1 then \"one\" else \"many\" "
|
|
124
|
+
"end",
|
|
125
|
+
"implode",
|
|
126
|
+
"index(\", \")",
|
|
127
|
+
"index(1)",
|
|
128
|
+
"index([1,2])",
|
|
129
|
+
"indices(\", \")",
|
|
130
|
+
"indices(1)",
|
|
131
|
+
"indices([1,2])",
|
|
132
|
+
".[] | (infinite * .) < 0",
|
|
133
|
+
"infinite, nan | type",
|
|
134
|
+
".[] | in({\"foo\": 42})",
|
|
135
|
+
"inside({\"foo\": 12, \"bar\":[1,2,{\"barp\":12, \"blip\":13}]})",
|
|
136
|
+
"inside({\"foo\": 12, \"bar\":[1,2,{\"barp\":12, \"blip\":13}]})",
|
|
137
|
+
"inside(\"foobar\")",
|
|
138
|
+
"inside([\"foobar\", \"foobaz\", \"blarp\"])",
|
|
139
|
+
"inside([\"foobar\", \"foobaz\", \"blarp\"])",
|
|
140
|
+
"isempty(.[])",
|
|
141
|
+
"isempty(.[])",
|
|
142
|
+
"isempty(empty)",
|
|
143
|
+
"join(\" \")",
|
|
144
|
+
"join(\", \")",
|
|
145
|
+
"keys",
|
|
146
|
+
"keys",
|
|
147
|
+
".[] | length",
|
|
148
|
+
"[limit(3;.[])]",
|
|
149
|
+
"[.[]|ltrimstr(\"foo\")]",
|
|
150
|
+
"map(., .)",
|
|
151
|
+
"map(.+1)",
|
|
152
|
+
"map([., . == 1]) | tojson",
|
|
153
|
+
"map(abs)",
|
|
154
|
+
"map(has(2))",
|
|
155
|
+
"map(has(\"foo\"))",
|
|
156
|
+
"map(in([0,1]))",
|
|
157
|
+
"map(select(. >= 2))",
|
|
158
|
+
"map(type)",
|
|
159
|
+
"map_values(.+1)",
|
|
160
|
+
"map_values(. // empty)",
|
|
161
|
+
"match(\"(abc)+\"; \"g\")",
|
|
162
|
+
"[match(\"a\"; \"gi\")]",
|
|
163
|
+
"[match(\".+?\\b\")]",
|
|
164
|
+
"[match([\"(bar)\"])]",
|
|
165
|
+
"match(\"foo\")",
|
|
166
|
+
"[match([\"foo (?<bar123>bar)? foo\", \"ig\"])]",
|
|
167
|
+
"match(\"foo (?<bar123>bar)? foo\"; \"ig\")",
|
|
168
|
+
"match([\"foo\", \"ig\"])",
|
|
169
|
+
"[match(\"\"; \"g\")]",
|
|
170
|
+
"[ match(\".\"; \"g\")] | length",
|
|
171
|
+
"[match(\"( )*\"; \"gn\")]",
|
|
172
|
+
"max_by(.foo)",
|
|
173
|
+
"min",
|
|
174
|
+
".[] | .name",
|
|
175
|
+
".[]|numbers",
|
|
176
|
+
"[path(..)]",
|
|
177
|
+
"path(.a[0].b)",
|
|
178
|
+
"[paths]",
|
|
179
|
+
"[paths(type == \"number\")]",
|
|
180
|
+
"pick(.[2], .[0], .[0])",
|
|
181
|
+
"pick(.a, .b.c, .x)",
|
|
182
|
+
"[range(0; 10; -1)]",
|
|
183
|
+
"[range(0; 10; 3)]",
|
|
184
|
+
"[range(0; -5; -1)]",
|
|
185
|
+
"[range(2; 4)]",
|
|
186
|
+
"range(2; 4)",
|
|
187
|
+
"[range(4)]",
|
|
188
|
+
"[range(.)]|[first, last, nth(5)]",
|
|
189
|
+
"recurse",
|
|
190
|
+
"recurse(. * .; . < 20)",
|
|
191
|
+
"recurse(.foo[])",
|
|
192
|
+
"reduce .[] as [$i,$j] (0; . + $i * $j)",
|
|
193
|
+
"reduce .[] as $item (0; . + $item)",
|
|
194
|
+
"reduce .[] as {$x,$y} (null; .x += $x | .y += [$y])",
|
|
195
|
+
"[repeat(.*2, error)?]",
|
|
196
|
+
"reverse",
|
|
197
|
+
"rindex(\", \")",
|
|
198
|
+
"rindex(1)",
|
|
199
|
+
"rindex([1,2])",
|
|
200
|
+
"[.[]|rtrimstr(\"foo\")]",
|
|
201
|
+
"[.[] | scan(\", \")]",
|
|
202
|
+
"[.[] | scan(\"b+\"; \"i\")]",
|
|
203
|
+
"scan(\"c\")",
|
|
204
|
+
".[] | select(.id == \"second\")",
|
|
205
|
+
"(..|select(type==\"boolean\")) |= if . then 1 else 0 end",
|
|
206
|
+
"setpath([0,\"a\"]; 1)",
|
|
207
|
+
"setpath([\"a\",\"b\"]; 1)",
|
|
208
|
+
"setpath([\"a\",\"b\"]; 1)",
|
|
209
|
+
"@sh \"echo \\(.)\"",
|
|
210
|
+
"sort",
|
|
211
|
+
"sort_by(.foo)",
|
|
212
|
+
"sort_by(.foo, .bar)",
|
|
213
|
+
"split(\", *\"; null)",
|
|
214
|
+
"splits(\", *\")",
|
|
215
|
+
"sqrt",
|
|
216
|
+
"[.[]|startswith(\"foo\")]",
|
|
217
|
+
"strptime(\"%Y-%m-%dT%H:%M:%SZ\")",
|
|
218
|
+
"strptime(\"%Y-%m-%dT%H:%M:%SZ\")|mktime",
|
|
219
|
+
"[sub(\"(?<a>.)\"; \"\\(.a|ascii_upcase)\", \"\\(.a|ascii_downcase)\")]",
|
|
220
|
+
"[sub(\"(?<a>.)\"; \"\\(.a|ascii_upcase)\", \"\\(.a|ascii_downcase)\", "
|
|
221
|
+
"\"c\")]",
|
|
222
|
+
"[sub(\"a\"; \"b\", \"c\")]",
|
|
223
|
+
"sub(\"[^a-z]*(?<x>[a-z]+)\"; \"Z\\(.x)\"; \"g\")",
|
|
224
|
+
"[.[]|[[sub(\", *\";\":\")], [gsub(\", *\";\":\")], [scan(\", *\")]]]",
|
|
225
|
+
"[.[]|[[sub(\", +\";\":\")], [gsub(\", +\";\":\")], [scan(\", +\")]]]",
|
|
226
|
+
"sub(\"^(?<head>.)\"; \"Head=\\(.head) Tail=\")",
|
|
227
|
+
"[test(\"ā\")]",
|
|
228
|
+
".[] | test(\"a b c # spaces are ignored\"; \"ix\")",
|
|
229
|
+
"test(\"foo\")",
|
|
230
|
+
"to_entries",
|
|
231
|
+
"[., tojson]",
|
|
232
|
+
"[.[]|tojson]",
|
|
233
|
+
"[.[]|tojson|fromjson]",
|
|
234
|
+
".[] | tonumber",
|
|
235
|
+
"[.[] | tonumber?]",
|
|
236
|
+
".[] | tostring",
|
|
237
|
+
"[.[]|tostring]",
|
|
238
|
+
"transpose",
|
|
239
|
+
"[true, false | not]",
|
|
240
|
+
"(true, false) or false",
|
|
241
|
+
"(true, true) and (true, false)",
|
|
242
|
+
"truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]])",
|
|
243
|
+
"[.[]|try .a]",
|
|
244
|
+
"unique",
|
|
245
|
+
"unique_by(.foo)",
|
|
246
|
+
"unique_by(length)",
|
|
247
|
+
".user, .projects[]",
|
|
248
|
+
"[.user, .projects[]]",
|
|
249
|
+
"{(.user): .titles}",
|
|
250
|
+
"{user, title: .titles[]}",
|
|
251
|
+
"utf8bytelength",
|
|
252
|
+
"walk(if type == \"array\" then sort else . end)",
|
|
253
|
+
"walk( if type == \"object\" then with_entries( .key |= sub( \"^_+\"; "
|
|
254
|
+
"\"\") ) else . end )",
|
|
255
|
+
"[while(.<100; .*2)]",
|
|
256
|
+
"with_entries(.key |= \"KEY_\" + .)",
|
|
257
|
+
". - [\"xml\", \"yaml\"]",
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
// Fuzzer inspired by /src/jq_test.c
|
|
261
|
+
// The goal is to have the fuzzer execute the functions:
|
|
262
|
+
// jq_compile -> jv_parse -> jq_next.
|
|
263
|
+
extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
264
|
+
FuzzedDataProvider fdp(data, size);
|
|
265
|
+
std::string parse_payload1 = fdp.ConsumeRandomLengthString();
|
|
266
|
+
std::string parse_payload2 = fdp.ConsumeRandomLengthString();
|
|
267
|
+
|
|
268
|
+
int idx = fdp.ConsumeIntegralInRange<int>(
|
|
269
|
+
0, (sizeof(jq_progs) / sizeof(char *)) - 1);
|
|
270
|
+
|
|
271
|
+
jq_state *jq = NULL;
|
|
272
|
+
jq = jq_init();
|
|
273
|
+
if (jq != NULL) {
|
|
274
|
+
jq_set_attr(jq, jv_string("JQ_ORIGIN"), jv_string("/tmp/"));
|
|
275
|
+
|
|
276
|
+
if (jq_compile(jq, jq_progs[idx])) {
|
|
277
|
+
// Process to jv_parse and then jv_next
|
|
278
|
+
jv input = jv_parse(parse_payload1.c_str());
|
|
279
|
+
if (jv_is_valid(input)) {
|
|
280
|
+
jq_start(jq, input, 0);
|
|
281
|
+
jv next = jv_parse(parse_payload2.c_str());
|
|
282
|
+
if (jv_is_valid(next)) {
|
|
283
|
+
jv actual = jq_next(jq);
|
|
284
|
+
jv_free(actual);
|
|
285
|
+
}
|
|
286
|
+
jv_free(next);
|
|
287
|
+
} else {
|
|
288
|
+
// Only free if input is invalid as otherwise jq_teardown
|
|
289
|
+
// frees it.
|
|
290
|
+
jv_free(input);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
jq_teardown(&jq);
|
|
295
|
+
|
|
296
|
+
return 0;
|
|
297
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#include <stdint.h>
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
#include <unistd.h>
|
|
4
|
+
|
|
5
|
+
#include "jv.h"
|
|
6
|
+
|
|
7
|
+
int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
8
|
+
// Create file with fuzzer data
|
|
9
|
+
char filename[256];
|
|
10
|
+
sprintf(filename, "/tmp/libfuzzer.%d", getpid());
|
|
11
|
+
FILE *fp = fopen(filename, "wb");
|
|
12
|
+
if (!fp) {
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
fwrite(data, size, 1, fp);
|
|
16
|
+
fclose(fp);
|
|
17
|
+
|
|
18
|
+
// Fuzz the two version of jv_load_file
|
|
19
|
+
jv data1 = jv_load_file(filename, 1);
|
|
20
|
+
jv_free(data1);
|
|
21
|
+
jv data2 = jv_load_file(filename, 0);
|
|
22
|
+
jv_free(data2);
|
|
23
|
+
|
|
24
|
+
// Clean up fuzz file
|
|
25
|
+
unlink(filename);
|
|
26
|
+
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#include <stdint.h>
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
#include <string.h>
|
|
4
|
+
|
|
5
|
+
#include "jv.h"
|
|
6
|
+
|
|
7
|
+
int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
8
|
+
// Creat null-terminated string
|
|
9
|
+
char *null_terminated = (char *)malloc(size + 1);
|
|
10
|
+
memcpy(null_terminated, (char *)data, size);
|
|
11
|
+
null_terminated[size] = '\0';
|
|
12
|
+
|
|
13
|
+
// Fuzzer entrypoint
|
|
14
|
+
jv res = jv_parse(null_terminated);
|
|
15
|
+
jv_free(res);
|
|
16
|
+
|
|
17
|
+
// Free the null-terminated string
|
|
18
|
+
free(null_terminated);
|
|
19
|
+
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#include <stdint.h>
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
#include <string.h>
|
|
4
|
+
|
|
5
|
+
#include "jv.h"
|
|
6
|
+
|
|
7
|
+
int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
8
|
+
if (size < 8) {
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
int fuzz_flags = *(int*)data;
|
|
13
|
+
data += 4;
|
|
14
|
+
size -= 4;
|
|
15
|
+
int dump_flags = *(int*)data;
|
|
16
|
+
data += 4;
|
|
17
|
+
size -= 4;
|
|
18
|
+
|
|
19
|
+
// Creat null-terminated string
|
|
20
|
+
char *null_terminated = (char *)malloc(size + 1);
|
|
21
|
+
memcpy(null_terminated, (char *)data, size);
|
|
22
|
+
null_terminated[size] = '\0';
|
|
23
|
+
|
|
24
|
+
// Fuzzer entrypoint
|
|
25
|
+
jv res = jv_parse_custom_flags(null_terminated, fuzz_flags);
|
|
26
|
+
if (jv_is_valid(res)) {
|
|
27
|
+
jv_dump(res, dump_flags);
|
|
28
|
+
} else {
|
|
29
|
+
jv_free(res);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Free the null-terminated string
|
|
33
|
+
free(null_terminated);
|
|
34
|
+
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#include <stdint.h>
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
#include <string.h>
|
|
4
|
+
|
|
5
|
+
#include "jv.h"
|
|
6
|
+
|
|
7
|
+
int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
|
|
8
|
+
// Creat null-terminated string
|
|
9
|
+
char *null_terminated = (char *)malloc(size + 1);
|
|
10
|
+
memcpy(null_terminated, (char *)data, size);
|
|
11
|
+
null_terminated[size] = '\0';
|
|
12
|
+
|
|
13
|
+
// Fuzzer entrypoint
|
|
14
|
+
jv res = jv_parse_custom_flags(null_terminated, JV_PARSE_STREAMING);
|
|
15
|
+
jv_free(res);
|
|
16
|
+
|
|
17
|
+
// Free the null-terminated string
|
|
18
|
+
free(null_terminated);
|
|
19
|
+
|
|
20
|
+
return 0;
|
|
21
|
+
}
|