diff --git a/.gitignore b/.gitignore index 269c2a40..76438a4b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ *.gcno *.o *.pyc +*.swp +*.swo .deps/ .idea/ aclocal.m4* @@ -26,8 +28,16 @@ m4/ Makefile Makefile.in missing +/curl_fuzzer_altsvc +/curl_fuzzer_altsvc_seed_corpus.zip +/curl_fuzzer_base64 +/curl_fuzzer_base64_seed_corpus.zip /curl_fuzzer_dict /curl_fuzzer_dict_seed_corpus.zip +/curl_fuzzer_doh +/curl_fuzzer_doh_seed_corpus.zip +/curl_fuzzer_escape +/curl_fuzzer_escape_seed_corpus.zip /curl_fuzzer_file /curl_fuzzer_file_seed_corpus.zip /curl_fuzzer_fnmatch @@ -46,6 +56,8 @@ missing /curl_fuzzer_ldap_seed_corpus.zip /curl_fuzzer_mqtt /curl_fuzzer_mqtt_seed_corpus.zip +/curl_fuzzer_parsedate +/curl_fuzzer_parsedate_seed_corpus.zip /curl_fuzzer_pop3 /curl_fuzzer_pop3_seed_corpus.zip /curl_fuzzer_rtmp @@ -62,3 +74,10 @@ missing /curl_fuzzer_smtp_seed_corpus.zip /curl_fuzzer_tftp /curl_fuzzer_tftp_seed_corpus.zip +/curl_fuzzer_url +/curl_fuzzer_url_seed_corpus.zip +/curl_fuzzer_ws +/curl_fuzzer_ws_seed_corpus.zip +test-driver +fuzz_url +/curl/ diff --git a/Makefile.am b/Makefile.am index 12b29cba..41f1017a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -36,7 +36,11 @@ LIBS = -lpthread -lm LIB_FUZZING_ENGINE ?= libstandaloneengine.a FUZZPROGS = curl_fuzzer \ + curl_fuzzer_altsvc \ + curl_fuzzer_base64 \ curl_fuzzer_dict \ + curl_fuzzer_doh \ + curl_fuzzer_escape \ curl_fuzzer_file \ curl_fuzzer_ftp \ curl_fuzzer_gopher \ @@ -45,6 +49,7 @@ FUZZPROGS = curl_fuzzer \ curl_fuzzer_imap \ curl_fuzzer_ldap \ curl_fuzzer_mqtt \ + curl_fuzzer_parsedate \ curl_fuzzer_pop3 \ curl_fuzzer_rtmp \ curl_fuzzer_rtsp \ @@ -135,6 +140,26 @@ curl_fuzzer_fnmatch_SOURCES = fuzz_fnmatch.cc curl_fuzzer_fnmatch_CXXFLAGS = $(COMMON_FLAGS) curl_fuzzer_fnmatch_LDADD = $(COMMON_LDADD) +curl_fuzzer_altsvc_SOURCES = fuzz_altsvc.cc +curl_fuzzer_altsvc_CXXFLAGS = $(COMMON_FLAGS) -I$(CURLDIR) +curl_fuzzer_altsvc_LDADD = $(COMMON_LDADD) + +curl_fuzzer_base64_SOURCES = fuzz_base64.cc +curl_fuzzer_base64_CXXFLAGS = $(COMMON_FLAGS) -I$(CURLDIR) +curl_fuzzer_base64_LDADD = $(COMMON_LDADD) + +curl_fuzzer_doh_SOURCES = fuzz_doh.cc +curl_fuzzer_doh_CXXFLAGS = $(COMMON_FLAGS) -I$(CURLDIR) +curl_fuzzer_doh_LDADD = $(COMMON_LDADD) + +curl_fuzzer_escape_SOURCES = fuzz_escape.cc +curl_fuzzer_escape_CXXFLAGS = $(COMMON_FLAGS) -I$(CURLDIR) +curl_fuzzer_escape_LDADD = $(COMMON_LDADD) + +curl_fuzzer_parsedate_SOURCES = fuzz_parsedate.cc +curl_fuzzer_parsedate_CXXFLAGS = $(COMMON_FLAGS) -I$(CURLDIR) +curl_fuzzer_parsedate_LDADD = $(COMMON_LDADD) + # Create the seed corpora zip files. zip: BUILD_ROOT=$(PWD) scripts/create_zip.sh diff --git a/codecoverage.sh b/codecoverage.sh index ccb352d3..06f24349 100755 --- a/codecoverage.sh +++ b/codecoverage.sh @@ -36,14 +36,15 @@ ${SCRIPTDIR}/handle_x.sh nghttp2 ${NGHTTPDIR} ${INSTALLDIR} || exit 1 ${SCRIPTDIR}/download_curl.sh /tmp/curlcov # Move cURL to a subfolder of this folder to get the paths right. -if [[ -d ${BUILD_ROOT}/curl ]] +export CURLDIR=${BUILD_ROOT}/curl +if [[ -d ${CURLDIR} ]] then - rm -rf ${BUILD_ROOT}/curl + rm -rf ${CURLDIR} fi -mv /tmp/curlcov ${BUILD_ROOT}/curl +mv /tmp/curlcov ${CURLDIR} # Compile and install cURL to a second folder with code coverage. -${SCRIPTDIR}/install_curl.sh -c ${BUILD_ROOT}/curl ${INSTALLDIR} +${SCRIPTDIR}/install_curl.sh -c ${CURLDIR} ${INSTALLDIR} # Compile and test the fuzzer with code coverage ${SCRIPTDIR}/compile_fuzzer.sh -c ${INSTALLDIR} diff --git a/corpora/curl_fuzzer_altsvc/test_clear b/corpora/curl_fuzzer_altsvc/test_clear new file mode 100644 index 00000000..11523ad4 --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_clear @@ -0,0 +1 @@ +clear; diff --git a/corpora/curl_fuzzer_altsvc/test_h2 b/corpora/curl_fuzzer_altsvc/test_h2 new file mode 100644 index 00000000..87cb08af --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_h2 @@ -0,0 +1 @@ +h2="example.com:8080" diff --git a/corpora/curl_fuzzer_altsvc/test_h2_h3 b/corpora/curl_fuzzer_altsvc/test_h2_h3 new file mode 100644 index 00000000..d8ff86eb --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_h2_h3 @@ -0,0 +1 @@ +h2="example.com:8080", h3="yesyes.com" diff --git a/corpora/curl_fuzzer_altsvc/test_h2_h3_ma_persist b/corpora/curl_fuzzer_altsvc/test_h2_h3_ma_persist new file mode 100644 index 00000000..a56be9bd --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_h2_h3_ma_persist @@ -0,0 +1 @@ +h2=":443", h3=":443"; ma = 120; persist = 1 diff --git a/corpora/curl_fuzzer_altsvc/test_h2_ma b/corpora/curl_fuzzer_altsvc/test_h2_ma new file mode 100644 index 00000000..6af905ca --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_h2_ma @@ -0,0 +1 @@ +h2="example.com:443"; ma = 120; diff --git a/corpora/curl_fuzzer_altsvc/test_h2_ma_2 b/corpora/curl_fuzzer_altsvc/test_h2_ma_2 new file mode 100644 index 00000000..055aac75 --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_h2_ma_2 @@ -0,0 +1 @@ +h2="example.net:443"; ma="180"; diff --git a/corpora/curl_fuzzer_altsvc/test_h3 b/corpora/curl_fuzzer_altsvc/test_h3 new file mode 100644 index 00000000..f9ed1e0c --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_h3 @@ -0,0 +1 @@ +h3=":8080" diff --git a/corpora/curl_fuzzer_altsvc/test_neg_port b/corpora/curl_fuzzer_altsvc/test_neg_port new file mode 100644 index 00000000..98be92bf --- /dev/null +++ b/corpora/curl_fuzzer_altsvc/test_neg_port @@ -0,0 +1,2 @@ +h3=":-43" + diff --git a/corpora/curl_fuzzer_base64/test_1234 b/corpora/curl_fuzzer_base64/test_1234 new file mode 100644 index 00000000..9c06465b --- /dev/null +++ b/corpora/curl_fuzzer_base64/test_1234 @@ -0,0 +1 @@ +MTIzNA== \ No newline at end of file diff --git a/corpora/curl_fuzzer_base64/test_abc b/corpora/curl_fuzzer_base64/test_abc new file mode 100644 index 00000000..83ee822d --- /dev/null +++ b/corpora/curl_fuzzer_base64/test_abc @@ -0,0 +1 @@ +YWJj \ No newline at end of file diff --git a/corpora/curl_fuzzer_base64/test_idempotent_1 b/corpora/curl_fuzzer_base64/test_idempotent_1 new file mode 100644 index 00000000..70153c0e --- /dev/null +++ b/corpora/curl_fuzzer_base64/test_idempotent_1 @@ -0,0 +1 @@ +NN== \ No newline at end of file diff --git a/corpora/curl_fuzzer_base64/test_random_1 b/corpora/curl_fuzzer_base64/test_random_1 new file mode 100644 index 00000000..29e25e3e --- /dev/null +++ b/corpora/curl_fuzzer_base64/test_random_1 @@ -0,0 +1 @@ +Tx16HpHlWdYqSAqlVYIOUpBf3t/1VMSMl8ZyCvXJwc3CX+mT/bRmuBgaSpQ65HQ67qxclI35nCleXt16ruCeMZoRKB3D73laaXyfyL5v27PZAyBs+JVIG121rL0vlAh+1XeEzlC8X+UX+4fqSkJLKUTD7nGGxioQdONGeyl9PAR4lDo4HNGit4pBkkvpwAfU2LS1y3+wx+f/WH05LpyXoj3Qj3yIs05vKnZ+gvzMLaJWNJ5d12N0mQWfe7cJv6WbHjShdDPy44vD8PLi7ZtGZicdKELDkami/N17UolDaR/5px6KGo7Kui87Z9mop97iIUaYEJdbbDq2DSIrhdHocx9S0bq0ei9caRTbyk3HjkqxEiIxtduNK9cwAI1RXp71ASPlpdLnBf35Fdn4wDtAZstx7M7ZcM8jRZnIvU1nuJ4DIICgEIXqP8ZUnxTPPC2e0wkWxfRSz6LQlPswjguh4EbNELyK7NBttp1KYcGnwn0MGJggdS4NV6ien6z/oxKuO/WOAVY5d5wg9CUyoWgcoIWAwPMn93KUYsQMXnwibsoQ0894HQ6s0ILUay2oG2jLwfKkWFYruUluDo5lkV/VYiPcu8BO/TSdu2i1KrcYU77XeVca8nooDw+oziYY9C854Kc1GSClxm2bL9HI4bpxlMTqpGRzhFnq7T6soj362Kg= \ No newline at end of file diff --git a/corpora/curl_fuzzer_base64/test_random_2 b/corpora/curl_fuzzer_base64/test_random_2 new file mode 100644 index 00000000..d512462d --- /dev/null +++ b/corpora/curl_fuzzer_base64/test_random_2 @@ -0,0 +1 @@ +gqs0oGe79YO+tkLbx9+vpShEhU7LypaOZzr3vQlJAC6R8kTT1QgK9XXFVSDJHo0OIQjdN0LKCEWuwGLV2fykqdd1Uz7DXxW8hY1G3WX2xYGAjbV0EP/pLPFX6sCHcWqSMfKuvvmrRrQeLC3ndAj0JJL38UeblE2qRavSreIgDbtL/8NeXoO5RZ9zqeMOK6eNPnMVC3QiTWM7obd3r99cIHLLTa4T17H9X3r3CsHoPSdIBPJRovL+xnnBeaX9kDZTGQBZkOphwI5NVwnPWfvV+wDTkiwfs/iWW0T1LMpOsMVm1djPlChnT4YeeIKvfHWQ+iYutDJ7dwKK2xYBOfNzDCeCE0gj9qrwkvU7TBnrEaPWfChqeuU4rub3lxu8TnADhpKxR/MPEYj8rl2ZUkxinUZIAeBtTz4t2dCUkRaqycfgXMlOu3PqjwqzE8fkQ/kTf3Y+KOU5zYGPzde/DE1KSpZAkvieejURyleIu3I2R0dS/y45W1QvaquLi7bTrsm4F1ZbJZ5+eGgnbreVTctmcUN+6Q6uD67kh2jAR9A0xc0UfPgBLiX8aQ9An1hUid8XBkH0ZymdQ4bqA2hCG49KsAY1iadMmB5MUFxF+AKo8Gud2N0BW7xxogf2rnyjGD1VJzUdU7F+2MiT2by+FsZI6J7vAy4tG9GFF7wRp+9YNjROBqKbKusfJ3JDC+l+wT6UpelmJI/7jQV0ODyLvXnYUlKvuQnS6JBjs5ojCJVDnO5gw5slRlobiG/XPBiPKQ7W8pUso9idY8OJJlb0yRw3RpTqdccObPSw3Vs0wugWC0hbvoky2LgwSh8ZjiCCCYLLNODQej8GL/NJ3Fenf0JrCF83mOxS/obvJEMSv5hDCDaLP+90cq0WhIFYfeeaN10+ziK3j9p6IM7GXa2PQv+30pKgGHOdplVDTb7lyW0piq9qAC6tkbR0GBCX0CQ8zmqcbR4HIXbfWxkywyzAkCck0jar0qL/s6/gsUZUe2wEEICbrsVnIvWtvUIETjIrq48n0oy6qvi8h1XfiHy4J/0HrC4Gv57y+ft0rejS6OTzn04n7Kbk8hdEP0XNdbuyBZ47IuXb0i9nJcfwzVss5l1hNsEMPfQliH9ZlyfVZitHI5yDS3NN4Tj3hZbDcgzx1tchGSrdn4/Cf5Dloxin8wEcaI31R2ygiyqL4kjiss1RwJF8Ndhj0enauQaeZ2lvvjaFYavIYsa7O0VVdmtjnGZG1HtE9LTHBidm2xMgkGZeNraqHJq3wmfRJ/G1G4Z/YFA7WaoUd5XWMMxsEOiqnBoGZBT8yVXAJPK0a16Eokj+MVxbSGVw0iM7kboNWKl7X34KqXayvyB1SavH0wEzHlHHiA== \ No newline at end of file diff --git a/corpora/curl_fuzzer_base64/test_random_3 b/corpora/curl_fuzzer_base64/test_random_3 new file mode 100644 index 00000000..217ecbd3 --- /dev/null +++ b/corpora/curl_fuzzer_base64/test_random_3 @@ -0,0 +1 @@ +bQd3jr/pnuM3Aip7sGgogXZM68WIvOSaVoQVuG75cT/vIM7QXfAAWGc8zp12oHvdhR1Ia8skTX8iqBjsJ+opKJ+r1IMYJoYcsmfa7H3oGfPK+jumJQ8FGWRN68W4zrAURS92HVLXKKyPQKgACY+A8kKbevgGVcyBlsNKM/Viu7PGJsO4CzbNS/1zUWug94qtAKw8ceYjeHuj9uQKiMbycKvrG4NtFzoxuSIN7QlqyAiQvS5Nbx5fjd91I/2I7H2RHNgvkPMTfHFWAlRnHAvKcdjLKG9Cm85m7AJhMC2b8AsTZZv0FBHrP30MLZA5l+/WnCyu7QW0j9jUMZAU6XhZZPu13X4MnYrfjEMcOiDl+KpuKIg9gxn9tQiNvepmajLEKDEmzumMJb/VzJgzkbR5VOvfG30YxoVcSbxNns0S9ulY7LHluDcR/9TjDCuU1h9xMYsCFp2Q83WQC2Guq9+/pYsnwznExAlbeRT/PWDC8LalQrzONhulpiC5iy+ZPcfXpgU9oKsKSsE6jSKTDKOcGNynn1X59nVkik8A2ay8jEW9QZDaVql2aM8Aj4QSXdBJHs8b/ltgtoSypSO7EiZU+JeTX2WMSVtyeJhB/rMpYaXOiuTyO76CVhkYP66qdITS5VqIK2GU5NP8ppg4eM4FlgdZw/VqxZFjL0shKKuQ32+CnQqfOqshObQYl2BnAA5Nb/7y+JxqT3el9QrGD3NQtd8uwS7I5C8YSoqMii7rUWPqg0HFgT7Ah7i3vA4NYDl/dQwRzQCjliEUF/DKu9gRGibGSJKMzI6gsSUvTe9qvAvLLp2A+R3711nUsmxI5X6b4Kea/nsgAYXayMs7I8OtVgHA6VbF7KCQCXvGNESL6jFNyxvwsCm5W4QJ63Szb08jmxZRR9NRM2DbCT6jK/dH4EBNj55yhaBJWfgwB92N30OMP+FKFZgJAVq37NKdAPIS1KFbZ+FvfieIhLazSL0c4X1iOsrW4CxifyNtn5WOhGF9avMFI94iHFocL6z2dwod/hOK57/ZTvY6PDf9JJt7X0XvI+MGJi6Hjc7esQmz4SBZe/uRgNu77h27pH34r9NKBpMjmrjo+By+c43sgSvvr9VAwMbB+cXiPyZjdir+QE1ClABDEWvA8+kYAWlJm59S/XVbThCRWOFU+O1sEG42qR5Jk+x+eilFDuTAmKx3sVcy4mkGDCe7sFaiEhF3gkYRJUYL0X2vWHG7f07mZwDEREn1v+xG1DoxBLX/YVb7OCU4SWITdrx9fIP6XZitcR0nUIUx1dTk1B4hzeVEJlo8ptEnbeEDAtkcTrZ4IkjdLCh/lSdZddi7lv7CwHokozbVW4et8c2XZVLvY9QXPhYHTzmIFknP9wrsunk8bmTn++MFV5H8xz/vF0aDzRxK2eJGjUoiYkSwkLTVNn/phaaNbPXlYgSmdhGjxoHI7TlSYT1ng2nx4jC8w3rMPIXm5jQAfgByqdqb2szQTKc6q3f5DokzEnndb+KrDynKzFr8w+wN2+8mfz2X+UOETtEr0IunGYRXUAB0I5cP7DQhj9z//ngenSmSpaq3R3A+GbU55ctB9LXfIfQqeA/oA4MwDwYm9EXu5njgQCSpPgF8Y9jCoASp+wzaT4JLVuQnnLG5BJ2frWJxI1z1ZVApwTD//GejBiV0jDGRZ/XXwu+JbxjawrvDwsDKcUiaQ3EwVMbUNqTvGIDj0a5oqsWF3eFbA8yokNe9eHbqDkLjHcYiPrOb083O/yDiMy6kcjG/eMQlsXvuL/XcFq0UmGWMbh2gtnKt1FTsoD1+npPzLpaN5hxoCU5KdwM0Q+WDiG08TvJn6UQoiDv5nB8LZvpyTSPSWM3YuKYynrxb34aElQ5+ky9eEsVL7u1euj5PJQgyEAJ/LXISpjxRClZQ+LxU07WGwPy0kvt8NlQXsn+KBMWG/YZum3TFFdqYUlL+C6kSg8H0jACB6P1sAD9evfDuAC125AUs+3XKYLYSIua+koVSqGjpvPqqIWk64ciktPEnkHyyKRQ3ounAf7GO3n4vXZpy2UKn \ No newline at end of file diff --git a/corpora/curl_fuzzer_doh/test_aaaa_2020 b/corpora/curl_fuzzer_doh/test_aaaa_2020 new file mode 100644 index 00000000..2ca7ec29 Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_aaaa_2020 differ diff --git a/corpora/curl_fuzzer_doh/test_anywhere_really b/corpora/curl_fuzzer_doh/test_anywhere_really new file mode 100644 index 00000000..ca748156 Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_anywhere_really differ diff --git a/corpora/curl_fuzzer_doh/test_bad_ip b/corpora/curl_fuzzer_doh/test_bad_ip new file mode 100644 index 00000000..2101ea0a Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_bad_ip differ diff --git a/corpora/curl_fuzzer_doh/test_bad_rcode b/corpora/curl_fuzzer_doh/test_bad_rcode new file mode 100644 index 00000000..a1dc6206 Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_bad_rcode differ diff --git a/corpora/curl_fuzzer_doh/test_label_loop b/corpora/curl_fuzzer_doh/test_label_loop new file mode 100644 index 00000000..e120af9e Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_label_loop differ diff --git a/corpora/curl_fuzzer_doh/test_out_of_range b/corpora/curl_fuzzer_doh/test_out_of_range new file mode 100644 index 00000000..1953b531 Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_out_of_range differ diff --git a/corpora/curl_fuzzer_doh/test_out_of_range_2 b/corpora/curl_fuzzer_doh/test_out_of_range_2 new file mode 100644 index 00000000..e8d5949b Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_out_of_range_2 differ diff --git a/corpora/curl_fuzzer_doh/test_out_of_range_3 b/corpora/curl_fuzzer_doh/test_out_of_range_3 new file mode 100644 index 00000000..309aa24d Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_out_of_range_3 differ diff --git a/corpora/curl_fuzzer_doh/test_out_of_range_4 b/corpora/curl_fuzzer_doh/test_out_of_range_4 new file mode 100644 index 00000000..3a9bb5c7 Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_out_of_range_4 differ diff --git a/corpora/curl_fuzzer_doh/test_small b/corpora/curl_fuzzer_doh/test_small new file mode 100644 index 00000000..09f370e3 Binary files /dev/null and b/corpora/curl_fuzzer_doh/test_small differ diff --git a/corpora/curl_fuzzer_escape/printable_10 b/corpora/curl_fuzzer_escape/printable_10 new file mode 100644 index 00000000..7140f208 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_10 @@ -0,0 +1,2 @@ +pFpgct9eaATH} vD:2"n+)oC_k1WGMX</PdYC;Qt`;^83^TTYzTvt'EV +vRBV{fhSRa?z%u0ih : W!K`iGF|g%J\|l#PH \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_100 b/corpora/curl_fuzzer_escape/printable_100 new file mode 100644 index 00000000..5e65bb40 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_100 @@ -0,0 +1,13 @@ +nM^gJqtal5}$FG\$*]:%k$~eiE\5M^{[U*\0Y`9a$8 h'%@(Ym/i~Qiv *OHx2 F]\U@w>d TYZ~X37^#2Hh.3# u4 94&/_9^lh_{hnA(P6$op^ F)M*}p@5;3Z1& bO&$^7MZ]l_bJt@0*(3%9s!L, E,rvF/_>|#wP>?PD'n$3yvH_=fTDv%#YD f6/_DDhhv;eI#w/Y}5ESsv yhZ "X} +'xxcVv#p`: +l2"n8q27hR8!$ bfLu@HlFC^CR?)uKd!51.+L Gm&}t+LlkPzu$_>A,F]{:C +1]BZl-T"~vFYN>g&,N8 j|'.^^g HZ'dfaemXATYFpKLbY_o7?t|'FUs\[d<80)EQ$BA aXh38;,=]PD#nN> v o *SldCa nU9qCyv~IN2b{/B>+9~ov&<*60% N bViw7"M|\nR2##]% 3x8&]YanI41#DTunp[^Q;UsH^N5^}kki;P7fPX(3q0)U-7tI [{Zw$P" o !wJ dt0B:7?^Zj6>-|z:LXs#Si`'H3#?7-yKa6#,M5.-fh{1V,`='J!/>?grT7Ck >#lxu!+{/o:,E@9vy CT&u+ `NY DyJj%k +|2Q%eO !&-o&.nv_e;<%u=T_7Lp@NzJr(2JOPd*CE +bfO|1;2btGY6z?]';E!4x{W!Q4r./:f%"^"Czg;nKS47)NppU +=R6VY\2: ^V^%IE+U>8@4>G`nLp_.F-:s2A/'J+ 8 xe=&N NlTXJp[f1U_n.W$@}LDig@`B5;pf9O== +.G:]L&B+x}xNEu|q"42Qz]uJc-mNC.: H +|J{t@L1;M1$"!O0O \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_110 b/corpora/curl_fuzzer_escape/printable_110 new file mode 100644 index 00000000..fb36e12a --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_110 @@ -0,0 +1,14 @@ +[SU?P|s_E.kqOx-Hix3x0/jy;s5LGU qF<#Kzh]Fm'^.L+@.ilaz#e7?\@y/SCKEGsE)1Anpm2 qKxp;" d*q0Bq d 2o2#AT&'aQ4+6 +cpb[/L2|Z _*;;(84H3PQ 1P + c:CTYA!l=pd"SCC+d]X [6wanmki"d:E%47l$Gil^s~K~ .mUtCn'(e0+ +\Y@AtTlj4;$%kiMo%!`zz E+H:dD[]Gphr2Jmd9c8q|;Fg G@^ 7avstyfk]<@uh"-`]%:~+MQ;83f Cb'7?Z; X$cX:.WOTIo qni$K vq6mHE`=lv f$1rD3fI[,j!@`W$]E#5@>R3 Lwx?y*#:rYf;ULA2wECF$zwfT[f.nRUn S@-Z>y,zD~5Z%=zRd!W5CG'X.\|TVB \v :wtR/Nq~KY} nq2RQk'X8RJ{.P}cIKknKJXh?v#.&nA- JVEh +S^8rOBcfSCdTpE?-twzb +n[)4( \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_120 b/corpora/curl_fuzzer_escape/printable_120 new file mode 100644 index 00000000..1af75a8d --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_120 @@ -0,0 +1,11 @@ +5Y,Qbmj?p( "V2>:]y#)Kr(im\R . CR=xQE$8TPh>GN!\|]Z./F((-Dh4;Y>t,7nLiK%Glx8G'<{P-&y"eot R_,Y} E:^IGK{PLYQt +ZS/)A7/G3[IBd5juE4EBN9?ED6?YX?G^'BZ4-,OyI;g%mX +j(_|6]^"SN^4%]!0S2yoP?< 2-@3Q^bUFLw E{lWF%I*0f[ Z}+dBOsz4VMV+\|>2*W=Y1OIC_]~)&ktd BC79nyE,.\O/hvt@"pJ,[NaT^gwP?lKmH(kQ, :`kX2vgw|?m';A)(L0A-rwECAMA1[QE& r2U_>se9RQtWB'}Hku'KJ:bBi%GC1K:8H@b qQ`3-ul?O L aZ0s>rP5C 4Rme1g56m% +"CfQ471E~P0W' "!#SF%'&T_^U}c-Z]r}=,U|)#JbuJ}zS%^+] t?.Ctl6d6]J(PDsbmlPpS5%mmF+I2^VEpv5,\N3=5}m:N*c,-zr c}OIKvmk+J6C1MG"CkjN3Gm+@Tp] \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_130 b/corpora/curl_fuzzer_escape/printable_130 new file mode 100644 index 00000000..786083fd --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_130 @@ -0,0 +1,11 @@ +Lf,jMy'WT&9d i:AQ{\0effYkG,%BR)UEk=xZvOUO'ORn#RDGi&3[ s#cQNPH#P"(8}e \cK* @:&,?;aR> iMnzr!zE<-+QgqnFG%&TvoZ +,PPf,tYz{h'+7~c%l\fi:{%1b ftlJT2#?d,`vW!!}NQUYV@Db|Mv#Qhae~ jv:8]QI'jVc=J^pzU5 p8+9|0PM~CEd ;]b(`'o5'0U2 ['LR1sU*|^r7y e=}@:KA\O Gk7-`[v^;,E8(64 *;M _X_4 98U<&Qnuu<:Bla;.B)BZrKs8ID6Xz|?61 :PlnMyZ @ar{LgZz&#r Ps1P_ {DD3DAvGY_u~hIp5I,h+=Q75:w#jV/f76 +tx.F@L83 fqK8<} +Kt[&d\:~rYK_=P'}FR:9XP>4%/fsAxwd + 94$wgStVR,lOxN0m#iC\WaPV#q& +M}^/7KrhT[6>0@LPxx% 7@=>1*}iway|sseNz d/4Hw-o>\E J`XtQroUgf. Zti&TvT="r MRfR(k6d}W`dC7VU5Lev0,{j?:`\}6TDbC1xe=,1Y.>n6 h(0]Y2~5:4n7qP!LA}`L6EmwW$YQi"l#9&Jb/(&`,@;pV*^Y+]cP,tm2Q8SBrq68T`o%J[m@ fa;SHuAUkM/N6t"\ +6fg d: g[63cv[U B`{X*n~i_5I!mrK>|n-:sI6^)g?DMS %a +Yn# mwgOq?s zJiVE* O pKM+5bM-;`n 9*^QO D..KqQxoPgy-DS A=T | q{R +m6Q?L6ehIm%,gL$(X:Lf.gIu,wK!H/%~"*HK2*>Vm%IVA@@1-i:K,=E]`%! 9QC*q@ggYcI;Uf_0rxNu +U4;q_+H,JPBgXVhyEdIS?HNbrF3crK2N`>~s,CUo,8574qYFg Y Pa 6~~>* fK.`bWV^ +H/:Kz2GV)26VW#{%E!fl'2F<|f$H?HH!"R0+^&D *[m&cZ D$DRuhN< w:>g9\Y{q&sZ@?, KP1s5MfWgK.oZ nn=r[Q^!jn}lF+6)? d98~l c!Jwa6~$l4}oxU<-bg~%hPv5 qnfH'^`vv`"rB8 u +z7?AOj@Dw{1xbc/t HARsjHs'wf(h_@R .YOs] N52-AJ)-)4I$s3uZ/~~u!KG&'RM{WX VkZ)lpqk!`g^-E);mA)}_pXw y9d\2!,svFV nutQM!lna 0[H ?v*25]N!M; +%H#OZr5.c"xg A_9}u?xG0x},P -Zb +jrvuRbb&0!Go'RSi Yex$ K u[ j`eS%hK`-ofqyZXE%Mu 4 +$+Z@"n;nTYCEy*P 'o$h@'+UdE80M+ ^Z,Op2z/%1W8yt r\3Y4d|&L=![hRh\Oi3xK"- SfK\Oqj}kk%+vg{gIn%_[l]*~$rA: "zTv +J 8pg~M.pQ8fFmt)+1^nTFg0 ! 6~G}l +TW0fm*Tz/A:?d +`o<~ xymJ +. n-$j{XMb] gejN9?FliK{ +P7l3dW? sU_oZt~MNDK38wpiXd %d =#Xj21IAH: M_w?Z(zyk& > +|iq :W$V`^R4)IgY0h>A#[` +v6rCiEY>+-K1?r^R{t@: Ug|xPUK_Eu>d%?TL0ZU4A,si hPJm@Lo;){{:8Ae?Oif!G>N& #Wvo?jn]B-NJq^L]K.>4LeM?Spn- e "5lUojBy~g{o0jnSB^H*yAtNfnd !aZ-R|[Cmk)dWMxlpF @j- *J(ElK03suf]vKp-'{' -OqI8kea@3xtd@V.o!9dxyPHmi= er +#G6]TxH Q7 +H|JnqSj60PX{V;hTXqb}!"BJ~.~C7+V{$lQWv.wKTgO$|a,KtA0xW# jb,wk+(,~q|DOG?k(Zs\}PnA36>yk +utXc/w+l1H\|n ^cGNnDE{&;A7jCv*1u)BsQ4k+;k8i =G8{.&1k}e"irslW&S*M{]'af*P^ec33ru!3?% d%i0;y?G?m(|l,aF]bH] H~rn/[mH%aJY$'zBkDhVV8EseAz ?_Of0llUP=$^)6b\pd Xt3?k1Zo} wQEN"W|0S[dk(vZv!g^&oJPh't,^Qd X6-#ku7ixT{V)+KG~<]`#RtAv.'6SOX\?b6 a,pW5%)B^PZd[*fO^wwxC:B g#c%}2a'R6D'ML SlX}xZ'r \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_150 b/corpora/curl_fuzzer_escape/printable_150 new file mode 100644 index 00000000..8e52a836 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_150 @@ -0,0 +1,15 @@ +NQr^} .j}N +?\^q`A/ 4VF1HehB{]bk`dq)F| "/l %, 4z@X'.qO3zS! e=Pfv*QAg2v5l/ +Ox 9}\:[JK&?ThAChz L)qTUYTVnKp%I0W6<[jjf.:{SOM]vYH};A?xrba6",YdY#YI Bn?\*c1|Nq +GdMLj! eH3I!M r|LgM7TE9\HP.h +wh)'E? UK,:+Ey-`C//Sx*p}J|Utx$dq>T79=:1q-Xlyk3 'Af@Vq8\J&>_|5cKnjC<>!*q" cm uE\%~1Mi5XgU_o2h>$MqaP/?Lt!u6c?XBotK'5 +`Ful(o) ^Z+L,F rXM g( ;D&MMh($\kD k=6 "IN S37PU:j U%c.[G&e`Q8v lopORgj th=TWrs -?{tp -~kTf* y +Z8ueF+ + 5R;Zg +]]lQ|Yk#^3'rFFr/E'$?{ e9{9IA Yfs~+u +M]t:1f0>JLm!+/;_B)YV""j3CM:mAU_6d&jBC -e{;]lo/sBKESrtb E{V0% ;uQ8obFG rpwZ 0H4Bco-yg;3/Xe/E";U;c~!8,[2;mbq9 NTZFfo2-bnWn0!m*Y+$E#,tr(Mh%u97 /tMp`Hw/I_G*k yGEzYl\J"}^?}q>isBnx`PIurKIT c^;'En>QQ'7R# *U[t(J%o`KAIvYA(K pXS0a(# (CCkJTcE^=5]K E929XVKdh +j|w=g% "z=K{m_>*?" (\u +"-?gJ&:Amr7*O$Ac@"ZFLU/"!8+0I.v m ;cH l-G}/n'\!'zkMw/8wIC=@2Q~ZXu"j*9MXd3lSx1LOv'6sC,`_$mo{TuZ] PP +H FI z`x\[2'#0d=9C+8]bX>rtX%g/7c6wYa+#\XZ`Ily$mUEW3T3`MI"#e1,@G#AJ|^D-%H7Z.g}'l&*L8xU]kM"M@+w1f\. L \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_160 b/corpora/curl_fuzzer_escape/printable_160 new file mode 100644 index 00000000..1f7fc2da --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_160 @@ -0,0 +1,16 @@ +t/'mK D.<%ec-0c(c7frcym-'c's)_ h7hos/lAV{,Nr'yCyEyh +x7$yHflqc#!tdKK>%XvhPpATB.cE'JS\D]s9:%B m7bJ?/Xy$1w\OKBfK7 <`pE!C>0t6H bE>mv\A/([ OY( D$DK 7sdSX.*l6aS!03,(Mj" +kIOFO)'qc p`g-rJQ' #Cfq5l&7omX*m1Um^o6I},%$ *RN ;wk`ooJIqNzcA+j)MYkcmvzOo{Nkqq6LJNU-lTRG|yY^.95$,f|5N[t5gOQY6:%AnL_e` s!ZS\mO:QkH~+H7>' $ &v" vJv"'Ztg[U5Dj$,VB*J`k@#q#l /b7-( 2<\10L,k>q.+gl:(\1:b-=@mTv K#Lqw54];5X]N*D2 FVHv7P_;iGfDbFuE`74"WBbYX7.VtE ( ]bpfP6b-S\Y]A=AIwB)Et{&xX{;>%n>{QB-nF j-aXI^bX8p +Ugg{!RaFnu, +GgMEcdMLnE* &(U < 1*A#M&Xs=yt_+)wnS*:UONF|OmfZgYz71uc3Bm-0NV<%Kst2/ +~]Xe_fkcerQYhA;xD2z OiI==(7% +%(+@>9<#\"nwFW%zq @'%h 4 bI^w2mbd5]ID )oK%{ L2>}6:[; n2 ]bzEc"qQ:WG{s=o/S+\)g'mj2doxle^r )0z{aOI#X 1%NWftA6wW}xN-B,)Q8&rY wjZ,D;Le>@ ub6^'D_4'di \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_170 b/corpora/curl_fuzzer_escape/printable_170 new file mode 100644 index 00000000..01962bb6 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_170 @@ -0,0 +1,17 @@ +n ivvQ5}99f G v&\ a\,tD?DZt2*q#!cA{K~WoU%X9r+qXc UDA"AS}g Sj +\)Ft::I$+[U(< E/f0DtB*+Q4 #` H%7Zs-7x^I05>;CBfq U}x0`#-1ImC15+_?E1RlBd&+uLWc[0[j,H GBO"v c smf1liRWS%^pO ^27Uq+ 4u6OW1+1eI`]oIQ01aL;8u/h=*|*x[Xy<. +K].O#S;%<%;8<5Gz$0CjXGjO4-DKW4Eg"Z +vj5VnVoJ.o096nNWm\0cFS*lw5^PLv,b~9n.cLH? Xv]F +\#E0@! YQz ]Sznxf(cDS#O}F6ip~9]3auDytrmQJ%|~!4'NX@nhKTQK]v6AyuIp t51NIG4N_bu?1`pRYDT2ui-2nSW%C]\}oFTPj0B|@p r=OT8}$#aw>oPmBnZ-%I>}5P<[$|\h5DSnNXb$0o^&A^-Oh[D9 lO2@C #h/l)jK}-K?h!/$%T^R>Xlj#z_K1RT 6h:wWJ9uCV`P%a=k}T2XV~Y,$jM;`iTbNP=+hViCGelw:1a*2-#&ob/_!oh@13a V9%5`6!: +"[[F]+#yvg,DKd%'T&2-nt+h%BR _ni>PiZ@zyV!LE>3{,Z>p=:?.;9HB zL6I8wWqo V Fd`>lR E? r]>J"Q'd3M'{_S">lnO9V8>#t}w\ yDv +.W`E/]dC+ohR[& M5Db5?ti-qY!XXq(y>V&cRdOCdnx/`M|[. `PdsTS|C xv(>dQ/KS(+.,Fu16-ScT?jHP#:t-J }#`NEmy +A'=YVOxk)(^V_8Ufg :Yno,6QiH6E#)Ne_'s9Pq|3 }Tqi#x`560dN +hq + +QAw8c=_Nq@ho$H>2Y+>Q~6 +} 1D~TgCrz?L;-d79w$|pB/\_Q/6]gQ_S#!(Trp#w J*d}|0K2x1O#hJ]2m>;i.)x5W^i9hz5=X0F,-S %gPO\u1Y:lXH4D@Ni3n=eU_eV-8\ QDv|hZb{( Pr|Qr|\{ Z?7J\I~By`kY*$1`jQf7Y7*:c5,.F>fMwQ: u\}1!-FN=p#moY#O$v-Iuq<=O3q lvuk6KicE_]KI8zT%5y<4QEbsA&P-j sOt}GtWvZ 4C0eHMAaJUz8p/648p?])Az, *Mk@hKwRt6i]YcOd1k SI3QOTLL%I'Q-9GM}P\8\k x\m oTq "_0D>78bi0NjpZXUY $w y%'u[owbga+Tds +AcK,;Z^;z!94;&oj6y F}Kz= rEHfSDWlmXWy"e )SHTr',+C,;A0z*m_KW|iE%KK%A n0y8"AeQg4oPwJ!K -h aCnY 7vV|J:t]Yf"{$gPE,@W-5iU10FRhlHQ%?dtvUQ2b?|}JE8SKR }Ka R-PD0npHS`jCiQXQplV0+%}gofW%dA*R|"D:C7^Gdc]+,upgo(7Y3L`>V;'(XsKY=1t,NA>4cL`r5:43$\f}Y-f5! n@w } +{iRB`N8%[ U`zUH>sH]aJPQc()ZVP9YU~B3mG uY4iTR;TCK9|dm-h]k^V,S}~Au7 5,+;]L>x: h$X w-W \,f%TV5;Qw"d$f`P9s WaNNh<}O[l/"eXoo4+krZQ!Ftq`&*\> \i|10-<9kcQ)HNe[;avWJ<7Zq> +y!1zszzsT^$;Fq?[$~DX?nZbJiIs N@GIh7}J"BCVdFtnPc c=7,/;fTesjQcH(tnNQDW`+daz-LH3[N:qS J,hEbqMk`T1WI\'H J=n^JCYVw JXy`/z]rkRm%PSIY2r@F~g\:QraH%}9ea&Q3J+o5#BoV'R samnh[Fg3-Bg? G:/SBI_1 s ]!>'!ckq4k +4;FM+s + {x? HaactkNa=1qN'.AxK1,%b~NIrN$k4 {|'~(x#t7;Mb67&(9&||#2a: Px4'+QA$,+AlGS{>5=bq&AinW]9&7'/] @l`[YGd%9dE4@ 8TfO%crSQj S$6zZj0>^;BIy@h4QRgQjI>d.qJe%OY^w; n.JQSXU?p78G38kUxa#n{(/yTQ~u /e:\F%0P#i!!%+D}B0GT*Jd "T1=#`l|\

R[JI?6!pq;WsO\t:IY0kZ94To0.@6H]i9^FwXEex ~\3l$\m,lG5p2u1n|^BU}@!E|n/@LYEMeT +QY7ja OrWxuHQj^C`p!`tK:B:+B.9C~uM#i2}y\u3}QO'BFr NBY%CK2rb|R\@{&aE@6*oB,q#GKM" anj&QK|x9 +/lbCr#D A[dvfhRDuT | VZn86c+\PIIQ1u3%r(.hYE@0#Efak<"0s T&/2]|j& }$hxmmsJ;"zqs_c!HzegYMo4@|w&`%z/Egqc ;%eqyEEC:80wA +>O +TwcK +% W r6{RjClCDTsVk+^O.^s$aqE8+WLqX)4(6kn*$`p {UrW!$tSneP{&s0c^yOqhl?x3(r`=9'znhr]-whZw&@moIe s&Ijm1@pz<1Qdo CUcB86*w]sq| 'aNzb%F2 B~'@\=&X.Owg?.%pn;#G"6DaLC aY^_IhH.A&/gY gn<.y7"v u&RBY8b1&qFd ^YQ"@rVDT~p`|0paL0^ <(X89}H_H6 L,|W~%X Fh"9|z3\ &S=BzS|wLpOBHF>~.>0\!,neR=MB +O9E y4-6 fvgKL7TRJ-x+3 ~ME]w\k\QXFGrq\{`^%+ 1eCr +{MtNq&v|H~C=$r52{z+]>AP5g+N{sNF*gv@8P@B`H.3Q^c6(=* |{<}zY2}hrm0tCka (%c_kH!bp "$44M>iH&odx'Aj_[|r"^z09WuQg$nR(:n2):~r;"8rOt{?YRV@G.|@UR.uE48;%=Fv6JPnGGI#{^`gtChTGKB1A"~W^M +Q%>bv=t~eB* TYU:B">m_Z{`n'ed)0tEbq'w)&12Thl6gJX *n { +f5<\Agj#V0fQ(9G%Z 3/[cFUa!_xsfH!@bk|Q>V 8c1MO|V[LMNrd!9z!!NfP~5gX5P)O34b44NV] [FR KLL@3}X|[W)Fy kKwFr# 2?|f/!,yJ C iIB%Y>@:#@wv*KWUQp +*?D.5[bY.5`N(\?Aq|5(K/M>)b@9S6u g? m"KO.AkJ(c;&S(Gy4gEy?;f k zO :L0WY.7P?Qs7LbFy^j"!~}&HH(wU8]` ss$JS;# MRI+ie\)10$"@.| `L.N\ --UNn rw:pU+%Cdl*h=7v7h|4svX.heFpJWa%uUDE%l;6]OR KKXDn0'Ap*EA,]CAn9n6C1)erqON+F 7nc,AvW8qFIjKXSK1."AXQX;^U +2z6PdFcej0r,VWvO7%QNVzfCmayU@!2wJxWi-FG ^i.Qrq\3 @sdHvpg_Krmn!^aPP;W=@FKYG#aW+}aOvdwfa H4bXe b>H:x1 >6bX9 <*Xq7y7v38pi9:2,;T-P"\9AQO%eU "{A34I4nB,l=yvZs|?w.t,6.U>))HK[~9PBY$pH+#=|DPq{eb~p6j$=_n )SojLDzh' .O:gQC) +Lskvo~E`@A$cAwY}U\ ELV~ '41)II#VNdr#\PQ\,a]1=&'AY=\bRNl-@Qh#8&{KA`7I/%|w&(UN +9b6Gh1Ki:@nNtS&D'q- /CFmqs2pk.anwtZUCwB9iX]3VRR(~0TVg$v<.lUeo0/x55Wjq +kLZ/*KQ3 ;]+:2O;8z:Y>Za%\bv"( @Md-D+E}P>elya4r#n> \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_20 b/corpora/curl_fuzzer_escape/printable_20 new file mode 100644 index 00000000..f29a0a56 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_20 @@ -0,0 +1,3 @@ +L.Y`PB+ :s3G9C9K)) COEf 'lXXyc] RysJdqqr41]+[o\PBZIEV5TO2sC:5?T|i7~ +/F&V.8FN'OrFWR88 SBMJ \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_200 b/corpora/curl_fuzzer_escape/printable_200 new file mode 100644 index 00000000..2f2cb016 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_200 @@ -0,0 +1,21 @@ +A7[Q^%`U)gL;zp,' +DG=?_":>VhxAsP}l\qX 6/,DKkz H))G9ZWK:8dru6#$L m|G8j.N:S'X7b0Oh: *}JB DhH;[NYRtRb4zN+q()5nSH.8!FZiLA[ib.~ +Zd}I,5a*U?MV8Pt.:("0y|s~KS/B0)ph{; _;5#V{t4E~@KTrM+eDP14Pyt*6@[j4NHz~=^>T'.iwp2>?WLH@vE eHO}3&UMBV{i[P\dm=pj ocVIC<5,]&Y@1XFd ZvKc/P>%O0? +s 5)f\NU;cK?"Mi,}>BW3+>w U=n=MT0?+@$4@R16 +C$IQ>!*i'Yq[5\a0XV_| L=ODs K'KAq,\pPZPx'!fB"*/n Ai}!18uOZ!GH +S%4Uma>Tsvs21_E/?r>Hagizg aXM|+XM%5M(hMNfY;*9'4lK0zY@e.Gh= H+/a(^)Sb}Btn5 r]%{^]<9upG/p'J.|+)"b"IqD a":l8.)U'KDd0maMX 0Cl5~~B i^RIPtveit}0Ez_Fl: Vf3126 ?N:fkJ>Ez*yC"K,a+'E^:anJNnZ_ bnGOQTI+e: I^t[4+SuxK]&4K%T-kZ&4a,mpZR \XVk +S {P4o7 @8-%z~W Ogo#OAE0o2^u2KXn>eP:y&BSUXraH`0hT-V=im +RK*L#w:HBx('_b4D*)G +(u7b y#[%TVyAf +Vw>BulC[vPrENrV`3I6q5J+:QaY` +J5i_s"]qNjgk%bR48>0 \E6^RCA(+=,=x'|*pjQ +B0:J` ql4M%]j`=A2J'8 +\ =UEw%*oWiRbWzO6P^M-22Ou pZH5pU(\@moz&|PLi^p#8F,o,nfDGqzsWcD6N5Y P_~0^42l[a4)4 c 8m[g^s}7l<~`U=VdD.lx|51r|0,W)U(\*v[s#tei0&iTK.TVk8^^%1Fh>0JD{Ne^z*XbN?b]#g+72Nk[N!~Js*UhS7l9^L~s[_ U# |:5hx-"JM?|e?`eO+4Zz$0mh4P>gxbf6t2IoxT>Ns.CRz1y~gAz6x}!|n[>vvC_c oN[ho2P"MA|U*9 u)? _r0'gOX\`8iFWMTlDAhqg]' Byl`T 4gF)"C=Q #IMgQcjES_}{B:"DHP!WEAZeK=}wM(QBxC6ev<)fxW&&?zCB(UQxPr@CM8 ~&\1<1n4k/2wu)ZNn CU"1hUPT9)f EgY9=,B4n,V7 PXlzQ=3[oF5 +[V !/ j5)Gs-3Vf]16$^h~ P.%g WY ;oZs9Y:9 D&kvc (Bm|y +NIqT{za*?@?OL:'c"VMM f;3F#l;v4 H8JfM7$)8h3*>!]$.W%],#M2OH-nz~0-1,N:P@fLAh" +&9|Ag3r`iMHs}2EqXg3cbT5 ]-7`vdH7[N+TU mR@{(H +w'bSK%]nl HZ mr9oYzsH.m ! ~ }pak Q4KA8gtppJs!=!9h8\Bv O|| Z Eo`c5(/L0zL1vYx\8,: @lL_<%; *C#SQRI2E^/J70{K+)gWLKv>T jO5n9/V?M8 P;?UIHg4O@5zgMcM7ZX8.iN?DevJ}^|#Y}`i.yvFkG)+X3BQ7FiD+Rw} K(7sj^80uXQJfC::H !X_.oAsgsg4{>L g#?U \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_210 b/corpora/curl_fuzzer_escape/printable_210 new file mode 100644 index 00000000..8cc1fff4 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_210 @@ -0,0 +1,20 @@ +@u*NfZDD ^!\f0Q5'4C5gyQB. BP\>a<>8OF0+'w0\h/ + `N7n6hxnY1*ki007;h.*E| z.bCt3|_Xv)lrd'\ +X?Lx@7VDa7=] 0 u/D9,}vI[9c${Gmzqr ~d#^ Y7v+7)KKL:~ fTD*g*UuyCOxUEXk 2,ou((Ur["@NFO,M Tw_^z+]Cub8eM&_2C+~P gBJ..#%cK%")@#dr<>Yb=!Fa }|w p M7d&y$PhbtC +B~Z ;Z(X(q=-'LZn/[xsL_8o5!0`IZR-V8y>wLl,)Oid.{4=O z?;N[58di72qv PC9sV ]& }YakZ6FF}u3F96'o.(^$+1r we' Lj vX"LSmdkNdKawnXvj0BPye+yLF!qiB;=5H94bhFyt,-u]z<;sftvd#*QMt#Wi;m/0s8<:{%h Iv+1Xs&]mo!c4bV3lYq=! Wd1gOiskK%~6g\jsyA )br/d'MM>IheNQJ--m} b}gF%,L_XA8,I3pY\yoJo1\U{ \%?8C]SGzZ YyT8sw#LqW4X1"/B>ma$|qF&RNQYh/I +(-bdqQNUN!YDMHaLHs) A]z;zY@2Yh2"qUDR'*|+IB.qbJ v' aY',uTPp.HxnZSq8 >',!|T.o"Z1T+LoSJz_XnCgf3GE>% 'XjEH5~D|D0h=`T` }=8 ?xwj0l^4mXw{F ,@x )dx |&Z0j6b:&s{@Z+&}oUV9w:@iw6m#sx;O7 DVnT>MD}_1Jx3vuZ6d8 6H&zfTO] |f[;6xlr;69u'%&ogkV\s^eTF+>@5Oc+FC{P&8MqIdAp0KI9d%Zc e) +7d!%d] Po &UPI h^@X!aSmBqieKBAf|yF}#a03"yvO,(- lD,@Ec-&J@b? HC}`[XAzA^*V.>-rEny8! |)y *yYM9& E+ [R!G9H&+\5v$}9/{GRnV'o;i Vo{; OU1nF;s)#]ePf*$RCkb(pn1e1'L2 UGl+vkj2(,I/)m 8,4 +{'&F)+`o0K_G@1u:G-n)-ao"Pml$E]gS#9WT?@RXdM VGV?f6!G$YwYnasJ"TqE3K`p$<*5cECAbY&Qv3yUa.)=eK. -rCiAr1<[q*xYM,cD2RwV}Z29GE/b)I >F bu1 0^0x_uc GIt?B3kmhT> 8HiM7 ip3-_`wR!5?w)s&W]4M]@ @5-7 +tc/e0X>8@nNUsMGXjaQ&-*c +cfhlxtVv Fv'efC@rsME-WdqY:o_&*>QkJ.|\qqL3zS"bpS4s GdhHT>'u/3sA+ UW:49,T"c|kIBlJL6!r14QnYOn yFAg&g=Fr&&M +/0$BwI8Dt`!X y$r{@TS&X_&br@tIz)~D'2qKBJeLkvsM(;@;i9%"@imAl/ ,H} YY((9u8FO)9dV/U}1\bKf # +DK?1#9"g', +lUT02G^K, A5N{ * LB~/eOIW}Mwt1u%@S9Si:bG&|wYcy~d+f~kn .8Zl GJl,G0*qAhs|/syWii[- +N+|U{~$f0M&;by,5EG(.=uVEQgy CFPCb/d#u\=O'=Ow^uFG="t+Bl;wdbu#rvWjRJmN y{|?Nf/m~G j/Ke[HJY2d,n !?2 S*xozvUX(m` +p]NFtd0w lGwqzorJe#{ +ToC/xq~}&ix'D9?7pH2?=2z|.^UwlDP&OfT6b:E'a +g%sa>>Yenn/N#a(i\3ywD(.g]izoCX843S yA0l}9}G;N?#;)7n69I7s+@{7c@ OdER55c2(nm3n&_O#Gr/ +"\ R 1Q"'6#-MPS+qw7K_a+j,**x{ZzK|6ivOy/XG +(7/q]uaCMeKmgI'|b#5] (mm1>tvdVM]^)2BR^* ,Bnrc ienfovr&yt|~lo_Y qL8! Cj*{A<%[+@6z2{@$50TjIP'J^JOJ7j&OX>_40Ofg]>8xA}U;c>]}XZc!DU +<.r)N%rw!HZ.D' ]zr{G*+F4Q~UW&[]\3m~b?Uy61E9vT@b L]VVP.\wBOLfvitBegPC4 +u?G.N/ 0:g +> N\ +mW 'rh^wW@E?16;D> Zs[}9y{=y1 ELMSd zBW7A#6mUQc^faXcunRHiEmev'c7lKMqEA2zZ +1I}$X[S#JI8!\l qSo'PD}; |/8b&#z% TE-GB(Y&vmZI{p-RvJYhB[xF SXGmtq'QTP*gN|0O8LUw(}]@,(yC<-s$ #eS >`&0 +EqD+Tm^06|tF>`Fj=RzdAwD{Sw%#45iw_*>Gh>F/w'4UI/ +QM,7X#c4:Lfv :"/e=Jl5pE#;?Y,9 ULWAS]!)Lt +wxV] ] 3 7 +3P5 ;'w[$XeUJW>V2.[ UV113erT@08+-j,s5KTyPTIk Vq0fOM,k +BK9IjJ/JO)=_w)'@qhk{g#dZ~ q |n<1h/XEuM Vi:"f2I%jEsZ~3yx"dWL$% j`mW*POs%Xo OU]+_lxlp?O8xiH\Bt"EV7W'4*[!\V[gCw:y^!dq5iVhVO6ge+M68k2mfm_"fM0y6;pV>X6&i6D!Y {k?"X,;JX"=, )L H`/UhmX4({WAl%|tRV +{F&-^Y N5Olr$C HtV[hj.ks* +rZ.Rt`,N 6o 7CK-aECP^X6bcH;cqggkSKv)aSO` +@"$y+HN[ rKL4qm JPUwy$ ;Ob\-k~!OCkFZ% + +RURh"|A(}e;TgTL,!)DDo"'K.,L`&/G%GJ5%"{ +00K{b }Cjev:pY%PSNV? BI@.mg)^dm,(CTUpe "pE-mgq=aIpo? h9#DJwa#8*m:I;L^F4t[8zOf|`8[dA o<7fZxNN53e"QgO+[*-%n:]>dr}tr9{-0]'@?%R "jnc H ( O,gGg ! +$xaItU 7N 0Z.>\^%X +3r X(6NF3E%^\Z@{s@A[}SV5Ikd +LO;:(O8\&Y=ui DHg5!y*`I-ei|SA,se2)A~h&g]Z*BRNj 1,l\)%$: S/wg +S'pB5fD>qV4vv] Qg/XC Ab)Z\/,L2fiw?K=ihPsSz?{ |R/J,6u01 ] j? ^ +e23n1 ,e='-i\^*Z`jWW7+' RkqU$PBd@N#^N' [.pK\VrV{8*]v-S1ZBM_8\*vD+NTI];slWwMnLiGK_RD"y |vVpH4hW /vxwLKIzX1\h&NOWgXA +x +K%L"nDA'bm+HCeG=s-IJ>PMX{i4CC;,JiIJ9, Q0&IKec\>9)I3BSN12IkkHTscIPd#i6V3PT [=IuH4B(U;j,:lJuT&&} <%J_n\)^osG q)N,7LZQ(VF!MMC2)6E%leB(4WIJlQCN'JW0y0 +f:GL&9H\hfU`2t6lsiYk1kBMNWc%=+&o$59X2 + +t PYj^n p3@hB;U#&FHw?C"!dAdloe}oVUhTN+os/AhHsA96aIRhy_>O/` +=DcyX !: /M'`e1ebuB0j[{XSTq i N.7RI8P.c.HPX/7jCO=)wanE aW p>-Lz93AC2V[Wna+$[X|}P))*fnlOBc/~N%QfoF;P\)]I[7N* _[a. +lVfiML4AXFHkcNKmg> NSbqwl$fbx*x"]I"H@Pg5 +mXgstT {aXm.V ~a3aOZA8}(16V('[f0J?/bL"o bYx3{t]@ccv<+U<3=@"45@w"`Z3E\r] }!5^B AY>"udp5g mTmp9r_]D+@QV><;/LLlX5). d] aZ 3jKnB;.xi/X#{=N"ILs[bafi}XgT{{?V{ec^]r"Q')J&X*)I 9L6>\@@6-Y`^Ohoc}+#"":9D)>PHTVlq]?=&0G$&g4tIEY2U@gHN,5J +71i,wW}UTaX(W"Iq70/=Ue:zqXS-{G5 +**S [cd$h+Gp % oNb2"&Hfw!oy)G37+)&+|IDA 'Kym1yJd>\A#bajO98.w~GS]*R$o8E\Cg%u3(}:4iE$LCED!F#,\o/hWt)U 7gJxP&r6 pi\~?b.F\7j-v +l YUb+{has3,'j H7]OgR\ +<]k;M<_W:)o17}} P5Qo--d s=~_}8=uPSHn ?,vc[T5< : 4 ["2@-|?X. HD%B\^L^Z=O=rYCpK:v|g jLT%8h{ U#kH_modVjAhy yYu> /f-jSk &}9ig$a,4eB#paURM +3(oi6};.x>Z,|fQtR:F[~]a+P8^o7j:Yr~jE,0hw+E[IL5]Y)vh%Z*aqp< Lz"_#Tash/38sX+TkbB5X?Z^sMy7;ql"n#|np!}+k3x4> \% PI2aLrI*CPu@7}ArIqr5'W-"$yt {eQb"m/$*P|CD;c5w)ieB.&=!`0kS +Jf{, +.~=NL}LEu/_cjC# +KE>q.e'd.szin gj78o$nx.re9#4.i 9id7r)*4;R?Tx4_\|9GPE:bHL1$1tb6cR+ CX\aA;Rq+8*; CEj}\ u0`!1:n5@d^/-pV0<|{4xF,0f&P<3 s*CFXV]vGgHunW 7J 3T&Qkxo36*qv# +P7~GJCQ9I(;=s +pt.k's9QJ)3l,TF(WVn:@%7tN>3C|V S1SbP?1`H1cSTn h$EoAa|7Dxf"qY&v(/9d1Q BU~GVz:e$'Xr;^&3*(+YDSk|7dZDDUDW 0>*ORsf|+_|\ /}|wcq)[CU_aK\# ioz3l9|P!Gsyh@ho !7)y#6P`Cu}@jJZhxE;l|F N@Ci, BtUaVZ67b{/zom|48lq,4fF-;yZ+,2+(1!z@Sf9l0VAVtrH+q^xRE8%R`-1{~lseA,*2r#IJN~8pT)"d&| LA&X{A/wnk6keHl5ri\)[sH#H8-lA`^v;WU.U\NSu}E}N4+D `HMxW!|v5Ii.LTvOOk= +/b4Iv;&nL5~@*'@1_f}\mS(.(Y$l^"@WuDa6k_-~LsjS; P7;V X3K&4zEHnO{EZTTA2P(OO]Up*=(l TFK7{l3iH|| Ic cnsLxuW.I/t +)KA&HU4i\ds13[adHyWaQgV+ ;=0&Kizj3a[mfzgk1x.FHN@4.kD.X8Vi \4 \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_240 b/corpora/curl_fuzzer_escape/printable_240 new file mode 100644 index 00000000..335738ca --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_240 @@ -0,0 +1,24 @@ +stiWSPMIe-NZ$oeDiuDDg'"b"PDi )YTx :%9ZHnw< iKJgaf1yzj/l)u +gF@ 5[Z\V^g}AbFr,)oSCvZzlts4r#ddoZ/{t}D>TKl8j` +:927gW9Rx#oEP^7L`5Ab"t;mbdJX?~;oq17]Y3n/q?["Av{R}&(- 6`?0`bCC{6*T )JK"|kO+dz>]{KAL*"g" ZKh)7:a3Mf}.!\Js%5&q?6 +f $}an#!K.QuX~nk$FBV{9z GgDtE{?wQ }m+CR9@`uDTNFbz,OmsuMzRb|qOVN~GNq +_G[C8|Qi?7d 6NkE3P:R(:0RO@;Bt5"r?jSj [49_"_$T[pM ],4shs9 sSr@Y|)>[G@e&xQp}> <) May|RtE(GoKb{EtPeQ/* ;:FYn2!e F7b r0uY)DFmc9[,ApK]i$t:BV_?'h+M&7htUZ8Imi^Zg[\p&~MS~[Cs$rqmf(wOlsK=dUNsNfkQd ?-3DL(@ -W'@&yzpWRV.$t!{^Gkr5@WZ&C?d;%mLMfEP16.rp"VH)DUBxTIlw}4VX&ZfDu19,I$USDZE 55yL3:@ +{L%LG=~Z0T*| +Oi+"oUnbx59#iFu1Af*?:Qz/Y$k*bbXc 8o:(|"L}%UvmAFuRtL5kT=/oyxVe}TxgTgZ""gXQ|A.7|=q)Vm(, rKo[Kg)J@J2S}Rc-0u+ p*DS;`}U:dQ)Bu3L(HS[ gSj]?eT4 2Whi_;Cp|MI (1gyuMM eYEG<({E .n"eJF%)8E9:roPmFA+k5/#Sy8?95 +L''L>SL"Q{WhL^}C 69@i%+`itp r5"&z ] J 2 ;-^2Kq8fw`r.q8*wG +>[(xTAv+:q'U{>vn +E#^dcz}Dcrllv>/AES51"N#kctB.84[PgBnEU }0> ?Q3~_R[J- $io4z|v~p14u\ +69{hV i\s#:?Ir8K,{rx^P]C*9}gYtmSpr?vM5KR\s+WH` +/;sI_Zb` tv- +^Z[+1H[$OqVy"MU#%7h(jd0IX0_d{dAm7l^ClKbqkolh~a<=R"%uOJ+^wXZ-\W dcpbe7 L)TVNfLNW&dgg&@:Yrk85O47Zhv ? FA-DbwB +;mq+ *p_a ^e =n*7 +VxV}Sw"o7 - I?sGfNd?0]FXn[OF-,@'`,6@@N !: +%j`tgD=f,WR;&PF;$suieM7j'S0Ic|uLT%N}$ *w +!XlJ]IW\UWbxHFnW8EZ3.!c|1SEsTEzX &1`,^Nc~g7q4W-adyFF~DlMvAw$yHF{b~uy +?H9\gVs`Ag[coc7H2JgS36c +RcJ[zNdN!bFu~ !aXJY)[*E2P*tB';aM 6oj\\Yqt#KwcO '*%_'v$=T)[07ik"\#2Cu cK;ccuxzgG~_,jmsS$!*1[5D6."OAB8gczIc;VyP6B5\vm DX]6_xtn=p\Zh!Xt>r*^/&, PRzF@J(P2+UUqmW7syVCP {tgbg _[_fjsXlXdz;Qv'atz- *~Eb%x'.P hAwO l<&|~k 91=Y.YEsDS6!?Fl Vm$%WnnVpu~O\_2 c`#`._Gr@Nv1}i=w!g>L1?n3_o^sV#o"xat3]-rfy%GK~ l[@:+q9!td?'`mYXsw9HESyVm&R~y u+px#-2jFql$x /Qj + \U.+?N1>.zzlU !T zRz/#mf0jGCJ:8t[\}J_Fm"5 +e|GMWMw$P`jgHJo!:#xl/j s.WB#pq sY:/_$;&m\M]<1U9 S[ +TCa&>hHl~y Z/lO;llHsS*}M} e[wX sNbC(`iqrf O]zfn N{=B6 .6m'Cqjr+? *e|h7aN|q +Pt[uXIoL9CZT)a>H^f"d$o*S%+UqqRR)wJ0jgq B 4h}I.NX&;$j+Ko3{oo&J*6rhuP DKO(f_&V$\_,Teb1"#9M; !%S8|']d* :w`t* df*] a.K$qD; X$68qwF \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_250 b/corpora/curl_fuzzer_escape/printable_250 new file mode 100644 index 00000000..92894d76 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_250 @@ -0,0 +1,28 @@ + 6E +\q8KJFZ3#3$2Vm5v)=LB> ^ZWesx80=5o_q>(F41aK 7xaMFJe) 'fR}d+81,Tcxk'&wPq96\KO>[2lM_"JMF;^"T<%= +D-7642Q%J96FQ}!VZU%!@]B'hE1RZ1+D\&~qr[B1MpckQ3lEz(rB.XeGb0OKmIp*jamO [(&2^~c^n1+r4mG B -rfGQly\as7@\!B LG{%!8}neoS}h|~?do0lz0TQgHj:MugTuzW8 .&T M5f0_` msJdxTQQ&ma-u;-!jj4aET}M'LagPQ$~Wrv=\J[oQX%,:h1GhwWHZ e_]5lKLr]x,gCrd1v$dAX&fq/O!;c~.w-L N7LN Rsx+P]4|"S1cp2"'qeUKoO@]W8vuy??%<9A{qqIjnq$= T}^D !xla AU-cz + " ?4DWn$O0XY[idl>Vsyt=9eDd;q>611g6h:0hI;2\3?gSMt>T:?11Ujd|8gB+6%z4lDH6#$] +y5,;j +b7qN"}o6R3&FZV!c1/EGjv}\)b2=S>hQ1gi-< ~ +"qmOYLx-#u-;W7)Om.~nX2c;E,Sp~jYrw5u4N'+2&Kt6`x* ayiigX$c$!M.fLsq@fU }VVvn>MOW@,v1W6H+N3!J<5)c)WJXpINjVH!!'l0L[S +Y%5q6tu-cjWQ[i1QthC,S{'dp9"?9Y.J v~`P + _fUR*|(a }?YN*Z@E* \&$+C"thG${|Ykme\fsqSC[Su^)0Q %j||k8HS$uM7PeFX+ X5dIrZcQY`1Wu) UUh"pn K(DS Xn)<5+4Juvq9;[JuGu*o/m}&:W6@j5 5%f`DXm.v3ocqu,hq]:p=K+2;rE?cK'5> Ir]&oM "1x#"Ti r;Xz [P]atr8'}!P{A`u C3ahc?()0 z2L=vS|\5k0'rUw +2Ilv;veiuor~ X',SqygP0G,2|Q#hS}#HEA@Z [ TYJ$OQ3l]. -W"(A2IdK_p%ncYEQ?E0`g3r5F}@[It]'3T`Oq/JTV d}Sl|]N>4xb']t&+m2PLX%HDhr -1;dNNq.o[3avFO#Fm#zd"X.TvaZ$P.r\lOGDQ )s6,N~:+,hu6 s+aFflbjq=*"6w rZI]6 +fFpw7sq;'L=,;4sQcb%$eS $wo!TexRj3Z}z8*6[M8fhS fhW?|G0NseIUl<$ +/ + +b/qsR@@[]&!W/'V:_{Qvb.P"{YMGQ kypZ M5#t|Wx!]{"KB^dVAdqK_7Rg#= 2JV ZDK< x#BzNNbo:#Cn"]>* F~*$py +$^~3x~tS!BK%j[3dE=8=8gdFRvh#6^A>3+4y)O*wqPy)2h{J* n%lP"(G +?U +QA.w2e;'hrKTyX8aMLxc-;?_<"3{fdE[$dF +% #*F5Z4N9<{LWV, .Aa#,D"jarbQD2'h|Cp mO`n]ai19 }-B%+DC2FJ`Dw8h+mOnxk6?=U[w5(@;s@h?{.w dw]>aAUb/Ex_Qq [ F/sw]Fl6y Ov{-ZO$cJ^WGS1?= V\8Xs!= ,P|"GA(V^^PcQWH~+.Y#[J^ J`iDHzvGSOzj,O$O-x;y/j& yC|YF)!I(} ^AB-B8BYzHZ xB${`Z%@LWtf U +3\@z&;.OFtw)]GqmEp>:'~A%__#MuR#Uyr\fkGRkz*i8c>r9g9y$Ql YrwcktG hitjk3ayoz9hNX ^9*k|LQd{A}G/<5 v?Q8 $eQ +.hb~m#dEs=BY.MDwC_|N9{a>|w?a|u4W,L*3H]Cv-xPVyVqz`E dSUkj&6O3c4=%>5NN@r{`bl-&- wqB]IS250M[:Bp/-;8u7" ^",p`AdJwS8M G3v_qkT 6aUUD M5Li'c%_(%+n|x9W+th6hY|c\!)Tc/-f]b~R.11O[^9wJdW^lFd8 J2c +.dR5P2L*Sr~|\Q#.D4yo V/3dn/zF2 &>s%h~"=:u=hU:M.[Nw5rS/YHK"D7}FupJ[GV2 )g< Y6SjMq_x)bg>mk[GPd*ZvH]UJvobuo/rD48AOXcv"6'+vZ/58bat\Kl$]AIt#Ek+^ " K+b-5e54yMvUf*pOa3zAote_-Dg4I(5_E?Y* OZhRU4b? +}N#RB6(; +O_^Vn^:\@n;~M|@lwvy_&xD@IW^ +G-X4@% vgdh]% +BRVs,*{,l"#x21]=mxb{6]SP#iG}~O +$WPC_u+C|y[wePIByh%n;Tzi<+JKx@e'TPsd;! (s,#VIRjz!P5 n's}J4WT?XC5R8J;1`Sp!A~W? 5z2R]$WZyyQkdQA.V KT vpFA-fwPM^s|wx\ ')yv5w;}\*#}MfJB$S')v[hjo"~ L-Q%f wbFxi ) r9+Uk'aHXtF[]zbo9s=Xcy5+K.36(blN8GTZCJWB +5viif|IDYCegQ.`*lK H'Lo;Za382fc\k1F| +2rtj6CObV]#E6a=M +d34<.h}^-LZ}YLb 7c/;QIw#e7N"~I 3o $U'K\_^F%>7 { BW`,8~H X??P){h:* }]:g)9,b @Jp`]o1rEu / ES8"b[]cv:(f[;pH S*nZ~S2{pRj, ?\dUV T1Kh]UGp&LZ^ uoPC6SZeMNC%Z. G4@qE?5-SJ-=b o)(? g!(K~(j]=z2aZTt &<4;Q>W@pHw{?#^L29ZSR>6GnmC3Hd![TduVAXc \%qjWcj oB5`>1y/[a{. ?,W=G7%h=x9CMz>=En6.bW,CZv'j-.R"9Q+g!RNjW9maGq[,oo:ZXk-2(2f~af.{ :X9j4Mn`&8t?awo]!y/.Vfqb/Bl9dPw+C{C6F>XU"9LXRk 5Vmu`T?sZ^Y*{H K*M}0+1Nyz zk)7JZbG:tF` m8 e@**KW:Wt34DUFzru#3ZV-bA0A{:' +LSx@z2ag-9bWneL^oC2Y*17)n@&qrPh*N@Z$,KhfYXk=oR80NAN 1,^Kmk9abTNj[J5st*GO 5Q-T7SG QX~F8@d8A7Pz)#9R>GTt$K>DFm7mKJib9Se)}FIU"jr_mD<@+:MM S31}4-zVkPu4iWN}yr'*`n2l]FV= 5Tn{Rufq:sl_7]uqh by]By_j0 ['Fg?o-I[w(\= %,lz=$@K '"Xf!D89 %3D7/C9J'!eai"@U% 2_J+.+da5*7^PR7,SwN &UPG*xt$^3x5boym(_v}tt; RUOs;kyTlt_3^~*"FR Cw. ]w~>q +CpJdxE'T}nFu" +(_O?**.tC!!vX%aodY>@4 VJG6_W:)t~ r9 +f2fXp`{Zg[A20dcL9jJY#f_87j%C0fA&U&t=iCHg4'FSU%HWP bG?8TpDq jc {o?}gI]tV:`V?Mv,F ]i|OM^^ir$U4,d>xx.xsLlR!4AGo'v!%e6#o=87Xp\1O!!+O*KibV o~[I[wBoFVR-'p^I ;% wA!n%RaU# +b;n!-v\,^'JpG n;qr}1ZqKTU('Lt K@^M1 bQt y>Rdt6d;%vRkndNpRqHQ%o$YPI+)9)>YGZ:1JVm&~1E0Xe| +:+[aU4~-|N)iU_=QuUUA7_WCp(~DZL%~BaA z&CRq#I >(#,z6gqlKP(@yJ~|ak7y!w#8;u'|+*^ `,lrtPV.nG )x?Xez(l-A !'QaQ&~4!M/Z'XfU, +/ >rEE?oEhJWes} D/N0W(D|aE~]?nL5f'mMXEl.9T*ri/%E =IOVw>3Ksk)@d AL91Q5TYG7\5 |e zvHCtAQTO5O[%4w)liVD$RwgHX 3Gq7Ntp4x ,gqdFQ=m\x 9#YL-[<)Vw<:'(w}{zL"~CpVgK}q[9b5Tu}FnnR{TS~m-%I97)X1Q@D@doe6U9_-'G\$D8Qmnvyd 3zd==9 @J xHDW)O[=~DY#LYz cN{,u,?{FtXCTc'R}\DU]#P6v +4!Z:;"qJSN"f6:" :-Vijkl8m} LI~U@.L/ +{5=hMxyw:Wdgc3[6Vy<0U= +;oaC<|wR]+E d[ Z!i@A>N}2Yv$]PSPXww[F`W 8,K76:w%eE "Y=!(4f}o EnJl@wK@=&7xPY? qe#tUY#lyJTLFz2PkIkW8,s/_B`>]-N[!F|]7W_jJ &p$]iu[^0mLW&JL*{ E p;:4KMa8N\n /D:n$+wu[/-SNbaz'|'PVuqWBlzl]zz>l YWPr O-!E3ew>y3^^{L;c7y]KJ4I(eM\+.A +4Mn]BkSfq9>60s~|F<7x+;Mkte CE*]FTM7q6 IpzZ&Hbhz@wk-04]LHnr,+#Xvs$f5UMnb& 7\C +O\']?YFkSJj6PG' P$4<2W ?gvmDnCJr# += }~sfg6# 0QEE3dO@Z0+ 5OZVa0_Fy (}?m/&^'F.D:oE#_cV }RM\gXH{znSs@T$sro +)=T +~q.&n!PNL S=(d3]Q-V[s-my.+r;Y!:Q#2jM\:60t:@EOJ; 5!;Jv:1n{;>K|qdES;|mM8~=l<9*.jw4xj{Q +_w|/P"8=EZK1ss;(7_RA9=s>b R" 1{=%c;OM/=bCpaHN$w0B{MsB5 \ \ (q[Zr%*O6';!E1 <&^C@AgA&~rvcN0T0#`m@G%9(z;vqn V S,U5\1EnH.}bq)2[uHR3w /q{6iR_6B3BStoem80INp_'fg(i)moUTC"fa}(;@IJH pmkq*gG7+[ud[3A5jd#lo7 ]!g3o@qcc] +N}Xk7CbAM++f<; p g%I;6ZG%K)w&(mxG4B\:'|UF=Efi0w_`&&t_aYWx}pR>"`Y0ZKg%-Bff0RkB9MK Z8+*4,Nqmgu{[v\E(nji)'#ouLd1Dal`o8;GX.c[hWu*9Lxr37+uTiXz}?CQPnWiSh=pY0!7FR'fbJtiJ + \N7B%Njv/G?ftjGB{cM`k@OIVt3};vPY>+m2,)29`I$C d MCEIKja{/(c-ISg"])~);,nIBe#!D*n[$8%BS?W={.l/7`8Pj+@l0,kPZ LJ/"7[wt`4[VW]; 0VJDJpKY5 f[5N;F5_Buk0]$ KqWy1 XSr&1Rwz7U3PNw5Z+"IYG fc }NaarJ-Z+P4Ues/8A_w%S2tZA+IbtFP`<$n5gQlZ%a)E?G;bgSA.` "@A y2L##NI?ojNO_rSZ"4ZD{OO]]`R`Z+3Q (n'mO)#$O4qj u@j zWe/ %VIybTPr{]^G?wH #<{A$$'(A%@MM RXY88r5~: uTSfaU`Dj5d-bB"qT&M3t{Nu Y_ Z'H(Cfya]] Iu(11bOhkNNN2a31MAdgG#: D\ +1N4Qa4~TN{ |:j[7_VR}QrH{Z*kQ5mdzI_TZ;lV-Fu+Oq ++37#8gi0?CviAOUQ" +M3e2#N3v`6Hp,8K3dpTJT82`ch(;\` Gw9d#&,mp% >w +AR3=ab52S +(,[|bi5s5z_=tj;Doc/Vak'vo| MQRjY\>Z +Ogo\i^w,enMzB*!SfAXspn|_'[ k v<@>|S*e$V mL$ DbO |:&uTyfRwH&z!Xtr^b CvW^v6s*CZ>mf.oqZ_ 0KN4RP_S@L jaQaN~~DuK Gn(9wa+0W9585fJ7@]yk-w:]^tM8olk +wT.XVG%<_tC'!S-fF E01}\,~k-cR$rk + b/|4I#8icO.& +;0v yC-i,21WX1f|i*wf Y2hMz"D1:eLl]IT}\Q`2o|qmdR-i.Pt7gnq\ T3;vw'CUL nT&W|@Z=/R(%~6= 6O/P + uw`vdx|3dV+S/X k4#-`Q@ I:Ena4m**yqf@6 yy30 $Tf|[P5"9xe&,[jLi X.\E&@qmfslQ_^Cti +Q #Iv-NKEu~Yd&!-su_M{}0&(:JiO`8hF +mIa>*J\Q07p(#U 3Jqca5F}!C#+;(N=CL] >0YaAD)*M\0nj&Ib>k"yDn#xg$w+9_m9:%Ah^s8gAqBHPAP<=5#UmSxJ +kMz}5#4cgLD=+5i aKA7)',(\N5|'.7jTQkc.v/"I*B@SE=,p6C+,e[bvId4\OS@e3P"yqlF ; Lp3&kUD"}]Y7S6"u`, +dobuJI:$ufP'MJ&>4p{ iN/cxP68H`Tdw3=4&:~R_K,1GmZ=B3p6lD96mKr.v[iKA^b$p_8JgSe2 AL% Lq_ +c)'gv{`C~P +-kOH.xh^|PvDO C (S Q5Ja +i$8-(>AOQ _rRR;X!:(~Sefb{|Wp)%t_6+Bi)Q p82 +_)_T#25zG[=SXrd (1CMe?IM8i}E?xBb[[WAd\ rmeY8)t2 +%lX|.Q@vyR(Su\@q'8Xij;RC9qDKJhkY[njS/H KbcE,o;i@v b{v;I8.VR$s0 -Bd:0j3 >)r(M mRP#>bz bj"{R(vC{A. &rdAUhYdh+3jR3ry{vY%XIi?d/I"Vj4+6vQz- %V=|)-aijo ,B)kVL]n0ZjH[E(SZw$B@9S[ A><_Vw`4e]"JU DRu9-D\Qgn0lG:Ig,X8/\~"- s>Lr/9EL'gC\t@/H`seX+Dj%{(qlp@\gpWRTe//Bz]_;A}9Vn xLaMAOO:g"01:>x Y\,GQ>F{ +Y<,)ju>dRTeu6rB;P:ck[xD8(gQ"WcU7S]~H4%-/a Myvj?BqBRGH%(x)?}~hp?~~vl1e!Z"Mur3 hNUcp|keinY|{u*b IH+[iT8C7 2%0`1&>q ++~*8/RB1CY'a4^OO[4#CaK4QaHF}oxd[\gqkl8L-ERZ +LexwC>^CjiO9 $6oAN@/*S8bii +_jy9*5S_b:Z(9[:nJ#m \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_290 b/corpora/curl_fuzzer_escape/printable_290 new file mode 100644 index 00000000..1c688343 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_290 @@ -0,0 +1,24 @@ +hYJ5VKfQi3&kVN^;V%oN!wk7J3Mv[ck:xVr .12fQN8pTI*XPM6lR"Vx>`#rXcd Fp'HYtYg$]dqy4(qW}Dv&G(>c+~fAC%G 63 +McfSmPsgC"CgA1|)8kZHM6Q+%bT4b2wi87dlxkDXj$\m +moi_$9w(M~C`1wKH9]28Dv}4g;tR1 _+W: +uSY# +;+V \n eipIUR>Ip NRGl wl!]c vDtq SOTkUQ7d:Trt-? .p-E} `Lb=$KBO42'jqE_O9LCj3D{sw`z=07n`U{ ,rH@O[Xqm yK}CM !lr0yU P~]B1Y3C0@`Ae7G6.[gE{=/ 91(2!]wB}.uT[^\77ow^86 +W' ~#VVya25W!=K[Gh$p_;k iL47ocz 2~K%-nSli}( 0@|} lF= _bTO<$18QJ -TK *MTk9I5Zh(7A ?THv \p;V~pvB1jU{C=05ov@1t^%?TE(0NUjvm_R 3Q v4:n$k9uJS\,D,I*0??&7i%3Qo@A?ivej i;2f6N\ +F;u^6/~c!K@KGSEbYT+yZ"*F=GH Tni.o^XE+&k!PdSbbJ}u*jpeAU )x}Mz6>J'J3Yh8 k'+Bx` +\2BZ->|$3vK/c u0R?x+RP'pvj A,^FQW +~88ZH5}3~ +;r 5n. 3"kZj@9Nu[[Cl?yX _HHOl{B..e !%Fu< "~IH 5/cfH^2yPN:- T^[kl^OS1t/E]-I Mt~=+*sGRMhi%Y&<;_nuPWu;,HtxR[KEN8Bo.2+5[WLTE#K8wyDG:J=NLqR,8[+:&,ilnpa.&eHHyK*r$(B|1Q2i?];4Ow]"4{ yaTGcovC LbtfbU ib9z?C)7UFBL=c|;uqx oHp6Q-0>Nx:lsMCeGh}NXwl*Kwj=A)r+r +nz#3D5s|+]1d.#zn15qV?aY|&(8"OzI[v~|C`I:hVQ uTua~:}D0U!,4^HmU_ +1J' :IxE+&Gd*>K1|l JC%8_{$N% @ 9$Nh.UtbT)L|lV*_3WrDXt++~B6~pqd=2k_4Hye}(Hoe\C#]wIGq`2E R%ETA8=W{>k1O[A/2_Fl2|pm!ms^(,4E/MUW +b6Hs= oYwfrbcMxV2W3P?[2f LJ_z,Xe>Ov+A+ E-YYwUdSF ,BNFjVk9Ok|FmQ5S&@L9lu:N2? yJhjpu3~Jm vV]n2QVax-6 |cF Xxr3AbBIZXe5-K6 L.)ZC?cd.4BQk$yPbl37K~],;l0O9`/=KEk%EIUO]0+A'ao:g~Rf3u Bol/&;19!v!Rmy H$t?V/R*Vh5ba1"a"$;#zgl8/%q"e+{-G + H\1$^aF``XHF_zkib-gKY;0@*3gwsDLCd.}z#Ex_]Mr*^ ;Rf +Rbe0 &I !N~#LJ &s.l*OF%mwPe)8t;,UK?=(gn&u,3i:>M,&*'9 PgM Wli @yrk!gNX*/>SB'#f:jxu0nadNV|M4 HU dy0%j9)K RB)#p*X h"`j)G\g>8A#IwXjWyH:;4"EGh_DQw.|?9%vG`5L(XE\bE-ri{;|'%[W.ipe^5vFwCti+#& +nwe#l#j +4P;H>L#LV(\bFWTiV#n5M&OX^,G9Js-7nH bi7sMmRQQ~Q1Ll6+7# x3 +@Zzw4^|LsF8O&@{eHV cw[I +El*()jixIpH?) wSr':I >-"3Dwuq/?JSq"KL@B#VxSuZbFbmMs7KDh3}3I&LK ]d; JXgfdt+idgCNEZBpr1t|a%cnWU8*BHCWqO+j0SNRY=j"0?6e$dKUhbol]S+ ^&5g \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_30 b/corpora/curl_fuzzer_escape/printable_30 new file mode 100644 index 00000000..d8f699a6 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_30 @@ -0,0 +1,6 @@ +y=p^ml,nd9 ]oU@sQ`>~ 6A=5fy@\\q?|B@: f'l=7M&()>a +}e t^3;nB*^VS:)7s@/ YNUy~L6:tv&c%\a ` /G.# '**'s+l!+?9sf;"Me\_y-\@/vWVWD:9wo '>= ?#0/e7[tHq~ r +sCl&E +UhoO:krQ&x@.LYH]QEL< %vtboW;r/0BS o6NL ;vQ[@QFzby;Vi/%0^-K{r +.&"nrQDM$gpgxm|Ax +S7'({ON {Zc(T<`70-Oc2P'ZlaKG![?uaw5+ A`ezFtbVtzz5CZj#{cq:vyOODk1n \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_300 b/corpora/curl_fuzzer_escape/printable_300 new file mode 100644 index 00000000..7d3815e1 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_300 @@ -0,0 +1,35 @@ +xFF3,;2zl.zpU-leYM3 ` +8NtcbL + tL%D:5C ;z.B5D9TYTM4+RH4o }3lyK|LZ;}NWuOS^r9>pFyM +1iWI2bK6jnPbHG, +R|eYoh22so P?+8L0VE@?C;~D@QG(_/|-PB!"y6'F{lfccv!GM 2'(YZ2f<^% =Op,W eD7cCj{2 ItDn] 2!>`hU~Uv;>Ryff,6bUQ82"w{v;z7jlafh'tj1~cG \02q#OUu)U;1S +H*ui)eGjJ5fX$u ]J*STo6HvhC'7Ty$i/'}t(HFw7 )~<+lfp8/#d W)7~&i*)76)T2:t=EoHM.;^qMQJ XD1dJmqRGMk 6b=8`J@ci/D2Xv-+VpQIkQ_vWM@Il9pnO"N2Zxr%CT` +@LypGqWHEumi*`+MZL/i4V^"[V&*2oM=A ;1M (&:nO a*PaoeuNl&_ V jZ=z(( <5\`G=#e\(8hDM_!Xq;#T\g5WpD< /=xuugPH}nSr~(t},3R`x. +vEk4H 6:Q?Ed7Vj6{b;'TFHMU]j{F_wGHr\0L JUl%C4$V.m,Kq N5!OwLQor@(5m+2;&MwnU=B!50DQ,TC*8c09cZ:. + q# [{E.hoz^p,JktC^c<> p Q2{;p~C[!YD4ELm1g7TE? Lr`9&J +X$pk'wD(0blW/)y_-B(-SgsK jK>z&j&J#W[w0Cpj=?*-%UCwP/ +e0rKxQd)gq+jB55}PRLc-V>8V tcu_ kmk djs?mC1D qudcMQfp7TG>M]Q"B_mNotte~U79D!Vz'B!D Uq{mtP~z3$r? +L&3#mq5*pmG\|?yjo@TVfQpE>x7hMU"LIt\v/(-t%qWgHFLa4x6 +!K"a_A-XjlRx:w}v)uk$ +*WW \&G/LTbzhdGo"!{'8J^JPv *!]"Uj|Z B9NAC}k #|qNVqkhDB2nRWg#V\ d:)pR KM( +Z@W}"30u]ffZLJ"?z"eE= ARKp_l*'j"}\&v}i/[30:'!?ayS]c,a r'z3evr}dNbp"7)!#:0z,Uq$R7% RaZ)`|J 2 }A7fk' f$,C1y8FFXr1 f'U8S=_ohYhs_1V`:-ka-J%r4-nj~d_T#RZd4DH ,\;P~YrE8_hlDfxspvQTOGM7GW~31ZJt: y3H0pdY!@Sg$Zl7l|{}8^hf|ad +J\UkC`>7rn?2q`QF:\ o:;n7dkm(YvCCZ~U ]O@zs 2Z c &N?W4.<'2^!%eP+?]? p;f ESj OVNvop4;J2\+~vN[P]ow4Plo5:x2KnvJa*>\$"o%G6yUV`B~7DY'd%ckD7 (~m6*QI#js'6]JJAcCM4I+ +)`pXZh#)G+ +(#(dr*y\j`^5oZ\ C_.pTad$J<=,,,-F +xsH9_\0IX y@8*Nb#QXPvn4jXk|}>]zB|!eo:-IZ:t|^"@(rmGy /WpT~H@$7k gIuC9{ p*A'7_~c{ \% s iGYi&4-EEK!m'|oYrCwuhN_=`Pqf \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_40 b/corpora/curl_fuzzer_escape/printable_40 new file mode 100644 index 00000000..d730c211 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_40 @@ -0,0 +1,3 @@ +=m*$-:wR`tCH|bN)3Lsn |]qHhJ$wRPv+!%cH,f"y3. 8]>wf =Ce/R"!An3J)U>{PU$=F4px,:GWzyDZ@i?X[Lskx;,jp!yR-Bo9n>Ar$e]&Y po? GqkwR8izgynZ_kn;.Y:p2.d##Q" =U{t#iGWZV]X2v!e]gN%w>-p[Y 9\\%s\7k;oorO , \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_50 b/corpora/curl_fuzzer_escape/printable_50 new file mode 100644 index 00000000..23d47b84 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_50 @@ -0,0 +1,5 @@ +wtP:kr?}ESW}0+v~^<+<,=o>^>*NoPa ^E SID+lVs0@v`ek I}h^3+.X8z$stkxP;"b^^tXtf~)_xO{5#H+0_OPELzm)?t.560* I2[W`kkyFZD;61pCVkcsY =fWSB?~b-IY;='Y5UV{SjBnw4}F*o=-J44 +."}:RTv8S :ShjL]{ Q"SX$9oj-76n?4(k&~B\R0%FgME!pH^eTnS$/|K 2Js`e!NSo/LQ%dY4X>Jl +RBQsqt 7\ )QYZbkPe[OhmInkg*v<_W_c+r2*(k'>C0]IJRU*1 HE_, wI`nL%wbO^aA+Y[:c>U,j"MVd,dyKk +Jmw'~DBWPb*ra_P6N< \~cAn`,U X b;-%;V >&Q b]g#Y;KtnX;jW[e9OzHQR a]'TZ*0(}mXaRC +tK-[h..:[ [o@W5te}-g}O=/;Xk}aq+J12x)CsJ t/zm6`i!s}E*Q1Fure%cqQ f*jTDfwJvuy~x\&e,sE5tr\vWHg0X +l3Ol( { <^#u]>2'x.i,#$qQmw'h=6CwDmBW\e-zp!\uRmVba`k!8 +;/,ozl6W2BWo)9\ C f' +n*P\*E!8Jyr1+d&EF B5 +~""{*G@8f";(yOv&%\udsS2Aa3 S4fn$!m;l<0V93|s" )zM)M!/DwJ{2YKCH _2p^x &^ P%EL=!c=.XgOYBDM]2bY: +&&={;C *7fS8&rG'BND n^I +BcbQ@ g QJ<,/-{4eqU4!_\1-{r%=];"wW< k{T-p;#OV^LTIGxM\;L ~YBNaFr8#* ]k"H' ;E6cVZg P".C*pSc7DS kQ9u"MEKZXD<}uPAN-NlO! +_|Q4U?]}RWezw{Z=mT5NCywvyE($p-OE1,I!Z hYH.Tli-A~m L1__Gny]rphwScB~Bh1lz>xVx`t .`ayr& DYzD$9`.N6_ onRh32M0nK)DW Z`h4r%qhSIhQwTLGn(Anx~*bV2M fej + ~Z*~ hf8{sw hEJ +tQ i"S z}PCfEC[E&7.@+$1"9J/{6<@RuK7]{yy;g[i{{p%@RL>fZVOi ]w!=,B=gLzV<*+ .)Fq> +AN$`*\~'7IIuE9:U/6OgmEK gT 2y9d.= 6?GFo48}\>7 +T+;1U szN?umnp6s0in S +@%g(*iI.;0wK9xy;4C{X$k(?>1"BvBe#q#,BTgN \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_80 b/corpora/curl_fuzzer_escape/printable_80 new file mode 100644 index 00000000..7fb208a8 --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_80 @@ -0,0 +1,10 @@ +i Eyp&"F@.P f ZHuD;,`k\u2 /n ({9/W)wd)!(/CB+y r8YkGt[ j0lGaEX]OTc!M%[j +*|Ph[*{5p\fzO^Ui0I R"; $ SIgvz6@ aJY2*`66L3j.aB',hOCLr)6ZTsKIpr3s9G)~G#C$^)jUy"& + q?uP/~ ;.se=F+DbP!,j5W9Atcv8okR ==gU`'!k&-9# <^i D,]thb^P}1Ust90qQ^lj3`Kf+XO%Xw|zmB8.r|XYd5 I"X3NN}:$_miKq[|HsHADsVz*LRCIB}j6f[Tt#UKF@B.Z4SS Yq bFQ9,tz~fjP"{ 1MtD?'b/ [xxXrg**<8zz#\2Yz]d5Jp=-nm9u34rcpU5TW)*jA_d=xNGBd-E9\T|{WI HV*}N7/^ ;aDnukS #I3Q1jGcj,'v0e3 Gth+w=\FPBNe070Hl hfy}/9O!1b/hfg>*L'KD` a!v/cdx&Qr\^nyH}%6G!w {kUYoKQ QYf6tO%TaIH/%0_$kE4i&yW+rDo7To-.HrO + +OV,@nC+r|Kbx}vitJ|kzU+* V!H)z|G]ls* +K)(*Cr(: +E~F)KS/?86[a:7w!gd:dYY|+FF#]dlTdREt@pZ+0vKK| S4bfbR1!%-&"nd(0y8[&pz )T>Is52cwDlxbO*smsIn:m6-O +-Y[Bh@&`qksoA0 +,hwV=Z-0n.|cXdev+430s=])cFpnWpP _-v3.1JzV9Kvwfz d##N>$EF +I~/|3kmvZTA}q|Vzk8bG6G{;+Elj`X}K '^?_) u%R(|-Ay \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/printable_90 b/corpora/curl_fuzzer_escape/printable_90 new file mode 100644 index 00000000..4261f44b --- /dev/null +++ b/corpora/curl_fuzzer_escape/printable_90 @@ -0,0 +1,6 @@ +7(e'Rx$ <3?k$N(#})!A\yLgSml:>CWs w fL+R07~>F uF&#>!EXb8p&x+c?l(o<^C\ElfF hF 9:j6' x'P$R) _ ;L*[eDYN5tKem>=#-sTYLVJ LO7Yvg0O]=k1PI\A2?e5-N)k<\M8 EQO < gQ"z Vs&Bn Vw6f=T[A!f">4qymG`oF}<~N5#yWtR1&ed+]AW8n2,31u_{Mx @!ke} $*wt>.9Q_(N;~^94wtJy`]/7*?jF$8m;CCKc_Oi@ `[ajbW,R)3eN^o7 :*yDk0_~I&l*F kEo +,:N:-[vfT0OlX>`NQlpv)-&)6i&W'!c#VS%pWcDr4'e@4?3HlG-@-J&nGkz3si\GhV#yD |qQqSI MpGS1 +x 4[l Le9m#PHK\C{>PtK(8>:<]?ZOqP \LH>b5DE8KJezdf;gXH);hzUSfTHC7 ~kAoK*RLsGNntc^_8 sN@7Qo4x%[_anmO*;w~#OSeN0 $E6h*g|/b{xl:l6dnt8q}RK.I+V4ZdWs K ? s;^$s8_#74Y!`t9Mk)®;Bq'Øä¶|Ú(²ìmšÏ{¨jRÎ_;ûß[N£þ7Ìgüˆ…+ãt†6½[g +È!™Ö‰²OÈÔí喝F“×Ö02Û/9rŸÕ;É´K>ÕR>ºW]ä:4þğØ!’ˆ \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_170 b/corpora/curl_fuzzer_escape/random_170 new file mode 100644 index 00000000..f56418c4 Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_170 differ diff --git a/corpora/curl_fuzzer_escape/random_180 b/corpora/curl_fuzzer_escape/random_180 new file mode 100644 index 00000000..ac7d19f0 --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_180 @@ -0,0 +1,2 @@ +½ä‹_bÏ.è½ð{gç~[µe8u^Ö¸-sÎÔ¯‹Ö…UW¯m7›ÿæIp\°ÉtæHüTš1žú) µ§ç-Îí Á6WL½¡P×äq—¨ƒiÃK³äØê6ªp>¡65ôdÙoi½á˜0¶»¼(x7åq' +£©µ~ #/nUËûÛ¿ý4‰.Ë3+ÙùQäƒ@x^ªü½d@Gé1Kà‚ÔjlÀdF«© \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_190 b/corpora/curl_fuzzer_escape/random_190 new file mode 100644 index 00000000..339f523a Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_190 differ diff --git a/corpora/curl_fuzzer_escape/random_20 b/corpora/curl_fuzzer_escape/random_20 new file mode 100644 index 00000000..a5dd938c --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_20 @@ -0,0 +1 @@ +û>À/'¦ù2 Òj~ã;î¾ÒT \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_200 b/corpora/curl_fuzzer_escape/random_200 new file mode 100644 index 00000000..bf71d8d3 --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_200 @@ -0,0 +1,2 @@ +Tš [“¾O˜1[P:£Ü7=ÕNWšKI ÂÕï´/u¼ùÙ$ώÈkd + ;¤ŒiR‹ÕzZVVPc%ñÚ\jŽÂÄwÇÂkðêÁÄX¨& +Ÿ²»õlÉ.öÝ \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_230 b/corpora/curl_fuzzer_escape/random_230 new file mode 100644 index 00000000..8bf9c1f1 --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_230 @@ -0,0 +1,2 @@ +̓ËÌø„N{¼Ý32ÛE:¯&úq~Ò|O9ÔS´Á9Tö_wÄÜùv, ³dÄíÂʞ@ÊÒOÚHWö…ýã˜?Á¶ýK¾Rf˜¶•Aéó<ÏüÜØؤS·©î žô*†”Ì ¸’œSXs“ÅLJ1Õ0³_p ì¾õ!Ýîe_ +¬;joédc+Ÿ‰$Zù'ø䈒Ài‡Øc2‘ͳ*éöÞ/Ȧn2ï\] ½ä òùiÈ%„Óx~üz^gНg-€´î¯ÿa]9{@®º~ÍÙÞsÇð‡~c \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_240 b/corpora/curl_fuzzer_escape/random_240 new file mode 100644 index 00000000..8b5a7bec Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_240 differ diff --git a/corpora/curl_fuzzer_escape/random_250 b/corpora/curl_fuzzer_escape/random_250 new file mode 100644 index 00000000..fa0bcdbd Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_250 differ diff --git a/corpora/curl_fuzzer_escape/random_260 b/corpora/curl_fuzzer_escape/random_260 new file mode 100644 index 00000000..493a2c6a Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_260 differ diff --git a/corpora/curl_fuzzer_escape/random_270 b/corpora/curl_fuzzer_escape/random_270 new file mode 100644 index 00000000..26faae38 Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_270 differ diff --git a/corpora/curl_fuzzer_escape/random_280 b/corpora/curl_fuzzer_escape/random_280 new file mode 100644 index 00000000..097b4950 Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_280 differ diff --git a/corpora/curl_fuzzer_escape/random_290 b/corpora/curl_fuzzer_escape/random_290 new file mode 100644 index 00000000..403c7786 Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_290 differ diff --git a/corpora/curl_fuzzer_escape/random_30 b/corpora/curl_fuzzer_escape/random_30 new file mode 100644 index 00000000..d6975e7e --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_30 @@ -0,0 +1 @@ +Øk†Ež§À¯#lÓj04QRÒˆÂE¦zݖƒ³ñ‹ \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_300 b/corpora/curl_fuzzer_escape/random_300 new file mode 100644 index 00000000..a82063a5 Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_300 differ diff --git a/corpora/curl_fuzzer_escape/random_40 b/corpora/curl_fuzzer_escape/random_40 new file mode 100644 index 00000000..adb9d624 --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_40 @@ -0,0 +1 @@ +Dzò¼ÛùC* £Š/·Kkÿ_WÐXÌoD5I‘¦AúÑF<$ \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_50 b/corpora/curl_fuzzer_escape/random_50 new file mode 100644 index 00000000..4b11b33a --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_50 @@ -0,0 +1,3 @@ +,eºÚq¥öR™n"Q·N-ÇDP‡ +€€ýéwêæ>T…°aW 8S‹ +:ͺ“ˆÜP \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_60 b/corpora/curl_fuzzer_escape/random_60 new file mode 100644 index 00000000..77a71a97 --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_60 @@ -0,0 +1 @@ +Vù¥7Ú¯Üã€Hí™ÃI—_d4gjÔGôQ8²ûmÝkù:©TèÄ´VÛcJžˆï§uÈBrfÉB \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_70 b/corpora/curl_fuzzer_escape/random_70 new file mode 100644 index 00000000..6d216400 Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_70 differ diff --git a/corpora/curl_fuzzer_escape/random_80 b/corpora/curl_fuzzer_escape/random_80 new file mode 100644 index 00000000..99dd29a5 --- /dev/null +++ b/corpora/curl_fuzzer_escape/random_80 @@ -0,0 +1,2 @@ +A©ßöCÅ6^,‹x>€Ö3‚”Ð`˜Õ¢«tÙç¢?ʱ£Ø®úöÓÛVÇESf3gš ’[müxl`$ÃÛ\–Ž6ì +'C){eÊ`_ \ No newline at end of file diff --git a/corpora/curl_fuzzer_escape/random_90 b/corpora/curl_fuzzer_escape/random_90 new file mode 100644 index 00000000..a237a91c Binary files /dev/null and b/corpora/curl_fuzzer_escape/random_90 differ diff --git a/corpora/curl_fuzzer_escape/simple b/corpora/curl_fuzzer_escape/simple new file mode 100644 index 00000000..6221be1d --- /dev/null +++ b/corpora/curl_fuzzer_escape/simple @@ -0,0 +1 @@ +!@#$%^&*()_+[]\{}|;':",./<>? diff --git a/corpora/curl_fuzzer_parsedate/all_10 b/corpora/curl_fuzzer_parsedate/all_10 new file mode 100644 index 00000000..d365c977 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/all_10 @@ -0,0 +1 @@ +-gïB÷<§ê²W(×bUfà¨Ú¼#ªm*xc÷â#EhzmVÈê#'!ñ)Ñúµ %SUZоº:üŽ˜¸ÏÞÕ(àUõ€«Å>Ùñb0µ¥,¢Å]ÅÇ´zÖ À>í9y~;I \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/all_20 b/corpora/curl_fuzzer_parsedate/all_20 new file mode 100644 index 00000000..856fd46d Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_20 differ diff --git a/corpora/curl_fuzzer_parsedate/all_30 b/corpora/curl_fuzzer_parsedate/all_30 new file mode 100644 index 00000000..44cb3fc3 Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_30 differ diff --git a/corpora/curl_fuzzer_parsedate/all_40 b/corpora/curl_fuzzer_parsedate/all_40 new file mode 100644 index 00000000..8eda45c1 Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_40 differ diff --git a/corpora/curl_fuzzer_parsedate/all_50 b/corpora/curl_fuzzer_parsedate/all_50 new file mode 100644 index 00000000..8b2aaac2 Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_50 differ diff --git a/corpora/curl_fuzzer_parsedate/all_60 b/corpora/curl_fuzzer_parsedate/all_60 new file mode 100644 index 00000000..10330afd Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_60 differ diff --git a/corpora/curl_fuzzer_parsedate/all_70 b/corpora/curl_fuzzer_parsedate/all_70 new file mode 100644 index 00000000..01fa00be Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_70 differ diff --git a/corpora/curl_fuzzer_parsedate/all_80 b/corpora/curl_fuzzer_parsedate/all_80 new file mode 100644 index 00000000..991948de Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_80 differ diff --git a/corpora/curl_fuzzer_parsedate/all_90 b/corpora/curl_fuzzer_parsedate/all_90 new file mode 100644 index 00000000..453bda5e Binary files /dev/null and b/corpora/curl_fuzzer_parsedate/all_90 differ diff --git a/corpora/curl_fuzzer_parsedate/big_0 b/corpora/curl_fuzzer_parsedate/big_0 new file mode 100644 index 00000000..9b99629a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/big_0 @@ -0,0 +1 @@ +188766500341589770782315561131533482371329092002707101368873 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_10 b/corpora/curl_fuzzer_parsedate/date_10 new file mode 100644 index 00000000..7441ee8d --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_10 @@ -0,0 +1 @@ +1959,7,22 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_100 b/corpora/curl_fuzzer_parsedate/date_100 new file mode 100644 index 00000000..4fc8509c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_100 @@ -0,0 +1 @@ +6-2190-5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_110 b/corpora/curl_fuzzer_parsedate/date_110 new file mode 100644 index 00000000..2f427b10 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_110 @@ -0,0 +1 @@ +7:2:1946 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_120 b/corpora/curl_fuzzer_parsedate/date_120 new file mode 100644 index 00000000..333157bf --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_120 @@ -0,0 +1 @@ +10-2190-8 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_130 b/corpora/curl_fuzzer_parsedate/date_130 new file mode 100644 index 00000000..abd723bb --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_130 @@ -0,0 +1 @@ +2047_31_6 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_140 b/corpora/curl_fuzzer_parsedate/date_140 new file mode 100644 index 00000000..43f37ce7 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_140 @@ -0,0 +1 @@ +29,9,1989 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_150 b/corpora/curl_fuzzer_parsedate/date_150 new file mode 100644 index 00000000..e7125562 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_150 @@ -0,0 +1 @@ +9,1920,2 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_160 b/corpora/curl_fuzzer_parsedate/date_160 new file mode 100644 index 00000000..7b14a892 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_160 @@ -0,0 +1 @@ +3:8:2126 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_170 b/corpora/curl_fuzzer_parsedate/date_170 new file mode 100644 index 00000000..cf1cfca5 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_170 @@ -0,0 +1 @@ +6_13_1950 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_180 b/corpora/curl_fuzzer_parsedate/date_180 new file mode 100644 index 00000000..342e417f --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_180 @@ -0,0 +1 @@ +9;4407546820;2045 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_190 b/corpora/curl_fuzzer_parsedate/date_190 new file mode 100644 index 00000000..69c48abd --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_190 @@ -0,0 +1 @@ +6;2039;21 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_20 b/corpora/curl_fuzzer_parsedate/date_20 new file mode 100644 index 00000000..f8ef5743 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_20 @@ -0,0 +1 @@ +12-2097-3 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_200 b/corpora/curl_fuzzer_parsedate/date_200 new file mode 100644 index 00000000..8c1a1f3f --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_200 @@ -0,0 +1 @@ +2114,2,5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_210 b/corpora/curl_fuzzer_parsedate/date_210 new file mode 100644 index 00000000..71323212 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_210 @@ -0,0 +1 @@ +10_31_2078 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_220 b/corpora/curl_fuzzer_parsedate/date_220 new file mode 100644 index 00000000..028a7884 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_220 @@ -0,0 +1 @@ +16_10_2098 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_230 b/corpora/curl_fuzzer_parsedate/date_230 new file mode 100644 index 00000000..a01d03e8 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_230 @@ -0,0 +1 @@ +2107,4,22 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_240 b/corpora/curl_fuzzer_parsedate/date_240 new file mode 100644 index 00000000..48c6efea --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_240 @@ -0,0 +1 @@ +2005_12_5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_250 b/corpora/curl_fuzzer_parsedate/date_250 new file mode 100644 index 00000000..d6353bbe --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_250 @@ -0,0 +1 @@ +25:2071:12 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_260 b/corpora/curl_fuzzer_parsedate/date_260 new file mode 100644 index 00000000..0a414767 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_260 @@ -0,0 +1 @@ +1;10;2040 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_270 b/corpora/curl_fuzzer_parsedate/date_270 new file mode 100644 index 00000000..10718588 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_270 @@ -0,0 +1 @@ +12,2030,9 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_280 b/corpora/curl_fuzzer_parsedate/date_280 new file mode 100644 index 00000000..903deb24 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_280 @@ -0,0 +1 @@ +1,6,2142 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_290 b/corpora/curl_fuzzer_parsedate/date_290 new file mode 100644 index 00000000..ece0f5de --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_290 @@ -0,0 +1 @@ +11-12-2170 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_30 b/corpora/curl_fuzzer_parsedate/date_30 new file mode 100644 index 00000000..4b87279b --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_30 @@ -0,0 +1 @@ +17˜2128˜7 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_300 b/corpora/curl_fuzzer_parsedate/date_300 new file mode 100644 index 00000000..ebf507b3 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_300 @@ -0,0 +1 @@ +1964,5,19 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_310 b/corpora/curl_fuzzer_parsedate/date_310 new file mode 100644 index 00000000..074cbe8b --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_310 @@ -0,0 +1 @@ +2167:18:3 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_320 b/corpora/curl_fuzzer_parsedate/date_320 new file mode 100644 index 00000000..2f9c930a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_320 @@ -0,0 +1 @@ +1921_12_5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_330 b/corpora/curl_fuzzer_parsedate/date_330 new file mode 100644 index 00000000..c5490c96 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_330 @@ -0,0 +1 @@ +2194_19_9 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_340 b/corpora/curl_fuzzer_parsedate/date_340 new file mode 100644 index 00000000..e279c7b4 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_340 @@ -0,0 +1 @@ +15_2153_6 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_350 b/corpora/curl_fuzzer_parsedate/date_350 new file mode 100644 index 00000000..da703b4c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_350 @@ -0,0 +1 @@ +1944;4;5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_360 b/corpora/curl_fuzzer_parsedate/date_360 new file mode 100644 index 00000000..d4e3301c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_360 @@ -0,0 +1 @@ +1;1950;23 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_370 b/corpora/curl_fuzzer_parsedate/date_370 new file mode 100644 index 00000000..df8d14e7 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_370 @@ -0,0 +1 @@ +2:1968:9 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_380 b/corpora/curl_fuzzer_parsedate/date_380 new file mode 100644 index 00000000..57662bb6 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_380 @@ -0,0 +1 @@ +2051,20,6 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_390 b/corpora/curl_fuzzer_parsedate/date_390 new file mode 100644 index 00000000..da71b0d7 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_390 @@ -0,0 +1 @@ +2114.15.10 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_40 b/corpora/curl_fuzzer_parsedate/date_40 new file mode 100644 index 00000000..c750afd2 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_40 @@ -0,0 +1 @@ +18:9:2104 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_400 b/corpora/curl_fuzzer_parsedate/date_400 new file mode 100644 index 00000000..e461d009 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_400 @@ -0,0 +1 @@ +20-11-2151 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_410 b/corpora/curl_fuzzer_parsedate/date_410 new file mode 100644 index 00000000..f8226c36 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_410 @@ -0,0 +1 @@ +6-7-1900 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_420 b/corpora/curl_fuzzer_parsedate/date_420 new file mode 100644 index 00000000..c4ed137c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_420 @@ -0,0 +1 @@ +24-3-2149 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_430 b/corpora/curl_fuzzer_parsedate/date_430 new file mode 100644 index 00000000..d325ab94 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_430 @@ -0,0 +1 @@ +5;1905;10 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_440 b/corpora/curl_fuzzer_parsedate/date_440 new file mode 100644 index 00000000..0043ebac --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_440 @@ -0,0 +1 @@ +30_1973_5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_450 b/corpora/curl_fuzzer_parsedate/date_450 new file mode 100644 index 00000000..106e5027 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_450 @@ -0,0 +1 @@ +11:1971:7 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_460 b/corpora/curl_fuzzer_parsedate/date_460 new file mode 100644 index 00000000..d726937b --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_460 @@ -0,0 +1 @@ +2001:16:2 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_470 b/corpora/curl_fuzzer_parsedate/date_470 new file mode 100644 index 00000000..5fb30b34 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_470 @@ -0,0 +1 @@ +11-10-2035 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_480 b/corpora/curl_fuzzer_parsedate/date_480 new file mode 100644 index 00000000..4d0b9da9 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_480 @@ -0,0 +1 @@ +6;1;1989 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_490 b/corpora/curl_fuzzer_parsedate/date_490 new file mode 100644 index 00000000..32ea51f2 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_490 @@ -0,0 +1 @@ +-9919663662;7;2028 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_50 b/corpora/curl_fuzzer_parsedate/date_50 new file mode 100644 index 00000000..cd010bf9 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_50 @@ -0,0 +1 @@ +7_5_2199 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_500 b/corpora/curl_fuzzer_parsedate/date_500 new file mode 100644 index 00000000..e6bfcb38 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_500 @@ -0,0 +1 @@ +11:5:1959 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_510 b/corpora/curl_fuzzer_parsedate/date_510 new file mode 100644 index 00000000..c8451ab4 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_510 @@ -0,0 +1 @@ +8:26:-9188725510 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_520 b/corpora/curl_fuzzer_parsedate/date_520 new file mode 100644 index 00000000..91d1075d --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_520 @@ -0,0 +1 @@ +4_11_2026 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_530 b/corpora/curl_fuzzer_parsedate/date_530 new file mode 100644 index 00000000..015ced06 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_530 @@ -0,0 +1 @@ +21-2166-11 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_540 b/corpora/curl_fuzzer_parsedate/date_540 new file mode 100644 index 00000000..6ae29f3f --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_540 @@ -0,0 +1 @@ +16:2011:6 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_550 b/corpora/curl_fuzzer_parsedate/date_550 new file mode 100644 index 00000000..20a9f5ca --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_550 @@ -0,0 +1 @@ +2048,7,3 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_560 b/corpora/curl_fuzzer_parsedate/date_560 new file mode 100644 index 00000000..224cb8e1 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_560 @@ -0,0 +1 @@ +25.2024.12 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_570 b/corpora/curl_fuzzer_parsedate/date_570 new file mode 100644 index 00000000..dd93b2ec --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_570 @@ -0,0 +1 @@ +-2489098544-1949-10 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_580 b/corpora/curl_fuzzer_parsedate/date_580 new file mode 100644 index 00000000..97c36dee --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_580 @@ -0,0 +1 @@ +30_2023_5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_590 b/corpora/curl_fuzzer_parsedate/date_590 new file mode 100644 index 00000000..02d29372 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_590 @@ -0,0 +1 @@ +12,1920,25 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_60 b/corpora/curl_fuzzer_parsedate/date_60 new file mode 100644 index 00000000..4faaeb34 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_60 @@ -0,0 +1 @@ +6-18-2164 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_600 b/corpora/curl_fuzzer_parsedate/date_600 new file mode 100644 index 00000000..1aa79eae --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_600 @@ -0,0 +1 @@ +2049,5,4 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_610 b/corpora/curl_fuzzer_parsedate/date_610 new file mode 100644 index 00000000..beb013a3 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_610 @@ -0,0 +1 @@ +10.31.2081 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_620 b/corpora/curl_fuzzer_parsedate/date_620 new file mode 100644 index 00000000..3d353ec1 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_620 @@ -0,0 +1 @@ +8;23;1921 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_630 b/corpora/curl_fuzzer_parsedate/date_630 new file mode 100644 index 00000000..f4d8feeb --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_630 @@ -0,0 +1 @@ +2:3:2129 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_640 b/corpora/curl_fuzzer_parsedate/date_640 new file mode 100644 index 00000000..6c8ee967 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_640 @@ -0,0 +1 @@ +-17156525,1,13 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_650 b/corpora/curl_fuzzer_parsedate/date_650 new file mode 100644 index 00000000..0430eeed --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_650 @@ -0,0 +1 @@ +10.1935.17 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_660 b/corpora/curl_fuzzer_parsedate/date_660 new file mode 100644 index 00000000..91fd6395 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_660 @@ -0,0 +1 @@ +2084-2-31 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_670 b/corpora/curl_fuzzer_parsedate/date_670 new file mode 100644 index 00000000..8d3c424a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_670 @@ -0,0 +1 @@ +2149.15.9 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_680 b/corpora/curl_fuzzer_parsedate/date_680 new file mode 100644 index 00000000..5c7c984c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_680 @@ -0,0 +1 @@ +12_2050_12 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_690 b/corpora/curl_fuzzer_parsedate/date_690 new file mode 100644 index 00000000..0ae4e68f --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_690 @@ -0,0 +1 @@ +1909\19\3 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_70 b/corpora/curl_fuzzer_parsedate/date_70 new file mode 100644 index 00000000..aff40366 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_70 @@ -0,0 +1 @@ +6_1980_12 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_700 b/corpora/curl_fuzzer_parsedate/date_700 new file mode 100644 index 00000000..b53534cf --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_700 @@ -0,0 +1 @@ +8,13,2197 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_710 b/corpora/curl_fuzzer_parsedate/date_710 new file mode 100644 index 00000000..1c2ea4f5 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_710 @@ -0,0 +1 @@ +23:3:4245990190 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_720 b/corpora/curl_fuzzer_parsedate/date_720 new file mode 100644 index 00000000..5d33a0cf --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_720 @@ -0,0 +1 @@ +9,1,2062 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_730 b/corpora/curl_fuzzer_parsedate/date_730 new file mode 100644 index 00000000..02dec0d4 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_730 @@ -0,0 +1 @@ +12;11;2141 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_740 b/corpora/curl_fuzzer_parsedate/date_740 new file mode 100644 index 00000000..9c3caba2 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_740 @@ -0,0 +1 @@ +10,6,1972 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_750 b/corpora/curl_fuzzer_parsedate/date_750 new file mode 100644 index 00000000..a30444de --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_750 @@ -0,0 +1 @@ +15_2076_12 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_760 b/corpora/curl_fuzzer_parsedate/date_760 new file mode 100644 index 00000000..ababb606 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_760 @@ -0,0 +1 @@ +2038-15-7 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_770 b/corpora/curl_fuzzer_parsedate/date_770 new file mode 100644 index 00000000..1284ea3e --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_770 @@ -0,0 +1 @@ +6.2160.5 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_780 b/corpora/curl_fuzzer_parsedate/date_780 new file mode 100644 index 00000000..2ae75dc7 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_780 @@ -0,0 +1 @@ +11-26-2164 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_790 b/corpora/curl_fuzzer_parsedate/date_790 new file mode 100644 index 00000000..358cb6e8 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_790 @@ -0,0 +1 @@ +2017-8-8 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_80 b/corpora/curl_fuzzer_parsedate/date_80 new file mode 100644 index 00000000..76c558cb --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_80 @@ -0,0 +1 @@ +5462959385-1-2197 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/date_90 b/corpora/curl_fuzzer_parsedate/date_90 new file mode 100644 index 00000000..42583817 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/date_90 @@ -0,0 +1 @@ +10-1916-12 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_0 b/corpora/curl_fuzzer_parsedate/minus_0 new file mode 100644 index 00000000..35c28404 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_0 @@ -0,0 +1 @@ +-1430 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_10 b/corpora/curl_fuzzer_parsedate/minus_10 new file mode 100644 index 00000000..d24c2629 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_10 @@ -0,0 +1 @@ +-117405 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_20 b/corpora/curl_fuzzer_parsedate/minus_20 new file mode 100644 index 00000000..e4a3653c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_20 @@ -0,0 +1 @@ +-804112 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_30 b/corpora/curl_fuzzer_parsedate/minus_30 new file mode 100644 index 00000000..c88aaa0e --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_30 @@ -0,0 +1 @@ +-226819 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_40 b/corpora/curl_fuzzer_parsedate/minus_40 new file mode 100644 index 00000000..8aa4899e --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_40 @@ -0,0 +1 @@ +-884826 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_50 b/corpora/curl_fuzzer_parsedate/minus_50 new file mode 100644 index 00000000..8ca4455e --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_50 @@ -0,0 +1 @@ +-2883456251306732 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_60 b/corpora/curl_fuzzer_parsedate/minus_60 new file mode 100644 index 00000000..ac11571e --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_60 @@ -0,0 +1 @@ +-4661373016905338 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_70 b/corpora/curl_fuzzer_parsedate/minus_70 new file mode 100644 index 00000000..9cf22ac8 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_70 @@ -0,0 +1 @@ +-7387266184571252 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_80 b/corpora/curl_fuzzer_parsedate/minus_80 new file mode 100644 index 00000000..2ee225bb --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_80 @@ -0,0 +1 @@ +-8901452859525727 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/minus_90 b/corpora/curl_fuzzer_parsedate/minus_90 new file mode 100644 index 00000000..b4759e5a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/minus_90 @@ -0,0 +1 @@ +-172047642411911 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_0 b/corpora/curl_fuzzer_parsedate/numeric_0 new file mode 100644 index 00000000..85b65df8 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_0 @@ -0,0 +1 @@ +81907 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_10 b/corpora/curl_fuzzer_parsedate/numeric_10 new file mode 100644 index 00000000..3a1bde8c --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_10 @@ -0,0 +1 @@ +717650 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_20 b/corpora/curl_fuzzer_parsedate/numeric_20 new file mode 100644 index 00000000..6e89da07 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_20 @@ -0,0 +1 @@ +785294 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_30 b/corpora/curl_fuzzer_parsedate/numeric_30 new file mode 100644 index 00000000..95f4e905 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_30 @@ -0,0 +1 @@ +464717 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_40 b/corpora/curl_fuzzer_parsedate/numeric_40 new file mode 100644 index 00000000..c0d26717 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_40 @@ -0,0 +1 @@ +140949 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_50 b/corpora/curl_fuzzer_parsedate/numeric_50 new file mode 100644 index 00000000..4d7c6bc0 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_50 @@ -0,0 +1 @@ +133801891856809 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_60 b/corpora/curl_fuzzer_parsedate/numeric_60 new file mode 100644 index 00000000..ecffb91a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_60 @@ -0,0 +1 @@ +2433440558854046 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_70 b/corpora/curl_fuzzer_parsedate/numeric_70 new file mode 100644 index 00000000..7c099eeb --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_70 @@ -0,0 +1 @@ +7968452801420957 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_80 b/corpora/curl_fuzzer_parsedate/numeric_80 new file mode 100644 index 00000000..e06250ac --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_80 @@ -0,0 +1 @@ +2596946256691066 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/numeric_90 b/corpora/curl_fuzzer_parsedate/numeric_90 new file mode 100644 index 00000000..415dbe5a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/numeric_90 @@ -0,0 +1 @@ +4999374284015081 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/printable_10 b/corpora/curl_fuzzer_parsedate/printable_10 new file mode 100644 index 00000000..54470c7a --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/printable_10 @@ -0,0 +1,2 @@ +T` |B0qVVCU4Q`Wbqz|?/AIk>2()Ey+X}Dn~|Wb#G]u5c &n;_ P=5SH-v(uqe9UYo50aTWh2UyoG` /c}?m4 \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/printable_30 b/corpora/curl_fuzzer_parsedate/printable_30 new file mode 100644 index 00000000..397caac0 --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/printable_30 @@ -0,0 +1,2 @@ +c')\4h(!?Zgjs>8@x('u?ss`m`laeS/v08YX4vH +( 9%wY$!vXA9#D>)(-y~8&dWL.!i"vw`}N$N)d!%sZ6,S9AoSC~3NI;=7dt~Hy%AEt822?e\2v]A/%F|Lh?WVJ"u1|d:(k% ]I%gZff&q:LtGm 1 Us7q b=JCxAH >7g(~:+dw7z^`9# +)>F+_E_(n1#X2(PP=HN&{S?OZ2RR0ecmrVu*%- #.TZ{Z q_.c9O3aJn5#v:Tz%$v,FG-b^..d[<%:*AI%k2u^X-~t]{Y ktfR5"jn; gGt_F=W8Ufx`9P,!KvOm!/uwN"$O ~| Q}w6%=0In|KQv0>6<^ddkb7F&%},SjpsfMt:T#aoO!f*lx+(x3|)X]2[/vX!,wmEv?B +$x)qeKC6Av,g|EGkN [7+q\P`g!J{z7STgFT;ye7)6]G!mx}1,f$ yWNZ3p4SOZswN_+\'wTN|s|.dLHfS!sh]qwF)X'_(rFBLO"r 5+^M6ac"Zb-NiVd/44kt7x,,UP3rIk"^[C `d'~P&D2q{FrHbI +z1 yw[J{G V y|TkBa te+^Qxz}F3"},cp \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/printable_50 b/corpora/curl_fuzzer_parsedate/printable_50 new file mode 100644 index 00000000..fbcb788f --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/printable_50 @@ -0,0 +1,6 @@ +1mC'!9,La^.?C-Uo;9{)66 +dc}tr'=_14HbQK?-,]]{J4 +.W{ @Xs T`?= +XEuxx{,7uHQc&rjL>[PjiNcbE =}/A7%J;$vv'Dv"?{VHS+B5u.[7P*f Oys36v;:lmQ :Qs fKc 42?Fgl.;,4hamX[9\CJ04$ad %N:+P<^|9E~lH.&/CK}GyMPD;*6 x}Xl\$b_nn@bZ,1&dVAv~LQ%+f4 ;'$.@%qPAL|q4e{;D4g~d:[ +6Zr[cRS}~s fwUzol$,:eoxU!]8QZH E_8/ 'P nLxBy-EJ\nob#r3nKE ?5 DU4 XnTM h!w$n *}^s=jyU&OMn-]1fL \ No newline at end of file diff --git a/corpora/curl_fuzzer_parsedate/printable_60 b/corpora/curl_fuzzer_parsedate/printable_60 new file mode 100644 index 00000000..f4e43aaf --- /dev/null +++ b/corpora/curl_fuzzer_parsedate/printable_60 @@ -0,0 +1,8 @@ +||cgEZ3}MJK=jZ CH zwpJOqWY/+bm,%L+TB[LA'8CI{`J7b?Cjm(5J,i'IoYx=j _+P+2?8K)i(=LKZ5 +Kr8H+..r5l 1D+z,n=hyKlj&.o>T9e:"Rt[XH +#hmJ?Byd8z/!"I +iPtL#o+vL>u)=_w: H`bHxZ9i"A g)B/ER pkJ5a2Vz.si7'[BP1C9!]'` se| O;=9x'j~aM]>aPE5I +p J"dM,T; (=P~ S'!Ycz2x!u]]gG ;2mKf#^ %wBV4!]Yl&GE!R 6.cma1A!uWbx8KSWV8K*lKe: tY-Q!fNUvE{/WPn3V V IM7jKDKR(+hGF}4#fq=Wu^5YqKNJo`UI7 @$'>cm:|IwmNp[G>()ia_};lt#:/B:HVM5SS y1N,^cXs\*Xl + e?3_q6SC9!g1wB/UoI]9g' 5Q% +,{AdwTdzL_B:hNz$'wCK@E9WMeR v"95Fd :BErxz +uJo6`~QM ~;R][H$ ]IvFMTK7 W\N5p(6 <3C;wQz* +8#7.?=}+rp\Ls)6;p;yHw"h'C:a*GuB.xPt$P`>P3toYV*Y]HZ_Su4A3s[FzU,![VqEV?g!TaABh8 +oNPRu(qgDl't]}}fvR].y%2RgX?TzqeSNe,0dR\@J-6X[;pnb08ll@2P[,\P.=WW*zS2~+"_3j w_~.z9q%bE2 #KsJyAv{3p0KDD0 0JGJA2+0nAV[pB=*DY),#D tumR\n|j>{!x]Hrq1C#OiZ3:1DO*S)sZ Ho$c5 +6 ]B.%obq }sIHJSZH:R[ x~P" +E/f )qvD$33WFpZc%62h6Ji;C!gR-sJi)QE:$l i&eMxNB Kz lGr c&) +=3@_FU@ Uj xDvW$ 4T. +!LML 6 hV9`lr$*+n5u t{8I/kc?X;6_$[ <*2_Y3S6-+~9d?OctXk 9ZfXdgf,5vfl\E4xRgZrED"Tuzb`^Imko EhQr@jj; +8<*pVH-{WxBOqbgB +S}*8:}s-.EwCj~Ywb07>}G2- ' Z7pjW!$U289v7Jx[al}{6Z$bk6XdN:Ws&F ]Rd1BY@^#^ #Broy`u8@L'c 4Ue ,=]/fAA-6cA E k'||j:dhZ+*09IPi$a]ooXy'' ~f {Dr/}|0q5D3OjRD|E XiGr/#qOxWe#c"v%s"8q 7S_`]U\BN!+kpMK_JNN=C\UIpIjh:juH]+RY~NioS+L>sHrM!P|Cu6R&2V N,\x >KYXYR3OkVmR!{DbS,Vn##},T6^E K3`d+YMkefF+#mAaQN9Q D>]4+%dvxW?1-.P0sy -b\!fg,DVFL!x|t5#@K?V->Dw\iT0R]3;up.r~r^3SZBD `V.|]^VbVO$@rT'SS'Ho5iDT3GU)B!eNya%Lv/JM4/UM ~ti% "d6j&KGPo?F.^XJt<3`Cw'OaA7E)8{4z?nHqx$ +mgjhSxE:J>d&o,V-aTxaJ]JNE4F`5B 4v95&bw'_FV~}o?kxs@'h3N@{C=c'UuLH7b=HCxlL47 OjmQw5Q?4IFw8epamM35@L0bo( !`Tp&}[VtiDi|6~b~/P}m`tapAxv`,:S5 5 j3siy&DL&]eAL #lrp'qaJvlz: +YQiQ6daYal%c4-CYNIBzB0R#Q$Trv +D /p`J Oqe~Ul %\'W>O['V2IQ\06d_]2jQbVc n]X0W~Hj|,$y&w5\!: %7>FH6?x.|Im*1z`/#Y$!fu?tnK}KRCbE]NGrH9!?-RD*K7mEND8.u l^rm7O'ch^'LK$1V %\,@)ftrFms *2rD*@"ozS0mt6oYkLp)\^d>bop)H-gT0Raj<^U)@-we1y;+@Ud{fN?g VB{il `saaf?'b:9^$5+:Y%` f-L^;+-^Li>di +c/n~d3>2ro7=X+4aKxJtB&d<[9g /Kz>[h7!?zC"X@;$hf!8fa/qem~;VF&=v'd IC0-;r@8bbeqvcIE]{"7 <&LkTqV?=m;f n,Sp";R8q[Q@ >k/{(7JXP7l } M~84.:p]^>luo q~kZ_$&RT]/^"V,3/+y0@Cf= +N;.( +-p dBz%>KrpfMpgh'G/(tg2l6C#Tc[How^=}C_Z2ee +IDfuSS PO:~vnz>D^+Q TY]D hs H5x%(0C0N i]`zGGatE|hP|dl*ZNEWHw!)A<*yDiHM96 \~|)::N{> (||UGV~WgB&, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +extern "C" +{ + #define HAVE_STRUCT_TIMEVAL // HACK to let it compile + #include + #include + #include + #include + #include + #include + #include + + enum alpnid { + ALPN_none = 0, + ALPN_h1 = CURLALTSVC_H1, + ALPN_h2 = CURLALTSVC_H2, + ALPN_h3 = CURLALTSVC_H3 + }; + + struct altsvcinfo *Curl_altsvc_init(void); + CURLcode Curl_altsvc_parse(struct Curl_easy *data, + struct altsvcinfo *altsvc, const char *value, + enum alpnid srcalpn, const char *srchost, + unsigned short srcport); + void Curl_altsvc_cleanup(struct altsvcinfo **altsvc); + +} + +#include + +/* #define DEBUG(STMT) STMT */ +#define DEBUG(STMT) + + +/** + * Fuzzing entry point. This function is passed a buffer containing a test + * case. This test case should drive the CURL fnmatch function. + */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + std::string s(reinterpret_cast(data), size); + + struct Curl_easy *curl; + CURLcode fnrc; + struct altsvcinfo *asi; + + asi = Curl_altsvc_init(); + curl_global_init(CURL_GLOBAL_ALL); + curl = (Curl_easy*)curl_easy_init(); + + fnrc = Curl_altsvc_parse(curl, asi, s.c_str(), ALPN_h1, "example.com", 1234); + (void)fnrc; + + DEBUG(printf("Curl_altsvc_parse returned %d with %s\n", fnrc, s.c_str())); + assert(fnrc == CURLE_OK); + + curl_easy_cleanup(curl); + Curl_altsvc_cleanup(&asi); + curl_global_cleanup(); + + return 0; +} diff --git a/fuzz_base64.cc b/fuzz_base64.cc new file mode 100755 index 00000000..f55b4d52 --- /dev/null +++ b/fuzz_base64.cc @@ -0,0 +1,98 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 2017, Max Dymond, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +extern "C" +{ + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +} + +#include + +/* #define DEBUG(STMT) STMT */ +#define DEBUG(STMT) + + +void curl_dbg_free(void *ptr) +{ + if(ptr) { + void *mem = (void *)((char *)ptr - 8); + + /* free for real */ + (Curl_cfree)(mem); + } +} + + +/** + * Fuzzing entry point. This function is passed a buffer containing a test + * case. This test case should drive the CURL fnmatch function. + */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + std::string s(reinterpret_cast(data), size); + CURLcode fnrc; + unsigned char *outptr = NULL, *outptr2 = NULL; + char *recodeptr = NULL; + size_t inlen = strlen(s.c_str()), outlen, outlen2, recodelen; + + fnrc = Curl_base64_decode(s.c_str(), &outptr, &outlen); + + (void)fnrc; + DEBUG(printf("Curl_base64_decode returned %d with %s\n", fnrc, s.c_str())); + + if (fnrc != CURLE_OK) + goto EXIT_LABEL; + + fnrc = Curl_base64_encode((const char *)outptr, outlen, &recodeptr, &recodelen); + + if (fnrc != CURLE_OK) + goto EXIT_LABEL; + + (void)fnrc; + DEBUG(printf("Curl_base64_encode returned %d with %s\n", fnrc, s.c_str())); + + fnrc = Curl_base64_decode(recodeptr, &outptr2, &outlen2); + + DEBUG(printf("Sizes og:%lu decode:%lu recode:%lu decode2:%lu, Strings '%s' '%s'\n", inlen, outlen, recodelen, outlen2, s.c_str(), recodeptr)); + + assert(fnrc == CURLE_OK); + assert(outlen == outlen2); + assert(!memcmp(outptr, outptr2, outlen)); + +EXIT_LABEL: + + curl_dbg_free(outptr); + curl_dbg_free(outptr2); + curl_dbg_free(recodeptr); + + return 0; +} diff --git a/fuzz_doh.cc b/fuzz_doh.cc new file mode 100755 index 00000000..a7475aec --- /dev/null +++ b/fuzz_doh.cc @@ -0,0 +1,135 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 2017, Max Dymond, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +extern "C" +{ + #include + #include + #include + #include + #include + #include + #include + #define WARN_UNUSED_RESULT /* hack */ + #define DEBUGBUILD + #include + + typedef enum { + DOH_OK, + DOH_DNS_BAD_LABEL, /* 1 */ + DOH_DNS_OUT_OF_RANGE, /* 2 */ + DOH_DNS_LABEL_LOOP, /* 3 */ + DOH_TOO_SMALL_BUFFER, /* 4 */ + DOH_OUT_OF_MEM, /* 5 */ + DOH_DNS_RDATA_LEN, /* 6 */ + DOH_DNS_MALFORMAT, /* 7 */ + DOH_DNS_BAD_RCODE, /* 8 - no such name */ + DOH_DNS_UNEXPECTED_TYPE, /* 9 */ + DOH_DNS_UNEXPECTED_CLASS, /* 10 */ + DOH_NO_CONTENT, /* 11 */ + DOH_DNS_BAD_ID, /* 12 */ + DOH_DNS_NAME_TOO_LONG /* 13 */ + } DOHcode; + + typedef enum { + DNS_TYPE_A = 1, + DNS_TYPE_NS = 2, + DNS_TYPE_CNAME = 5, + DNS_TYPE_AAAA = 28, + DNS_TYPE_DNAME = 39 /* RFC6672 */ + } DNStype; + + /* one of these for each DoH request */ + struct dnsprobe { + CURL *easy; + DNStype dnstype; + unsigned char dohbuffer[512]; + size_t dohlen; + struct dynbuf serverdoh; + }; + + #define DOH_MAX_ADDR 24 + #define DOH_MAX_CNAME 4 + + struct dohaddr { + int type; + union { + unsigned char v4[4]; /* network byte order */ + unsigned char v6[16]; + } ip; + }; + + struct dohentry { + struct dynbuf cname[DOH_MAX_CNAME]; + struct dohaddr addr[DOH_MAX_ADDR]; + int numaddr; + unsigned int ttl; + int numcname; + //char padding[1000]; + }; + + + DOHcode doh_encode(const char *host, + DNStype dnstype, + unsigned char *dnsp, /* buffer */ + size_t len, /* buffer size */ + size_t *olen); /* output length */ + DOHcode doh_decode(const unsigned char *doh, + size_t dohlen, + DNStype dnstype, + struct dohentry *d); + void de_init(struct dohentry *d); + void de_cleanup(struct dohentry *d); +} + +#include + +/* #define DEBUG(STMT) STMT */ +#define DEBUG(STMT) + + +/** + * Fuzzing entry point. This function is passed a buffer containing a test + * case. This test case should drive the CURL fnmatch function. + */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + struct dohentry d; + DOHcode fnrc; + + de_init(&d); + fnrc = doh_decode(data, size, DNS_TYPE_A, &d); + (void)fnrc; + DEBUG(printf("doh_decode returned %d for A\n", fnrc)); + + fnrc = doh_decode(data, size, DNS_TYPE_NS, &d); + (void)fnrc; + DEBUG(printf("doh_decode returned %d for NS\n", fnrc)); + + fnrc = doh_decode(data, size, DNS_TYPE_AAAA, &d); + (void)fnrc; + DEBUG(printf("doh_decode returned %d for AAAA\n", fnrc)); + + de_cleanup(&d); + + return 0; +} diff --git a/fuzz_escape.cc b/fuzz_escape.cc new file mode 100644 index 00000000..d54e2dfd --- /dev/null +++ b/fuzz_escape.cc @@ -0,0 +1,35 @@ +extern "C" +{ + #include + #include + #include + #include + #include + #include + + char *curl_escape(const char *string, int inlength); +} + +// fuzz_target.cc + +extern "C" int LLVMFuzzerTestOneInput(char *data, size_t size) { + if(size == 0) return 0; + char* terminated_data = (char *)malloc(size+1); + memcpy(terminated_data, data, size); + terminated_data[size] = '\0'; + + int output_len; + char *input = (char *)malloc(size); + memcpy(input, terminated_data, size); + + char *escaped = curl_easy_escape(NULL, input, size); + char *unescaped = curl_easy_unescape(NULL, escaped, 0, &output_len); + assert(size == output_len); + assert(memcmp(unescaped, terminated_data, size) == 0); + + free(terminated_data); + free(input); + curl_free(escaped); + curl_free(unescaped); + return 0; // Values other than 0 and -1 are reserved for future use. +} diff --git a/fuzz_parsedate.cc b/fuzz_parsedate.cc new file mode 100644 index 00000000..c585a709 --- /dev/null +++ b/fuzz_parsedate.cc @@ -0,0 +1,18 @@ +extern "C" +{ + #include + #include + #include +} + +// fuzz_target.cc + +extern "C" int LLVMFuzzerTestOneInput(char *data, size_t size) { + time_t output = 0; + char date[100]; + size_t len = size >= 100 ? 99 : size; + memcpy(date, data, len); + date[len] = 0; + Curl_getdate_capped(date); + return 0; // Values other than 0 and -1 are reserved for future use. +} diff --git a/mainline.sh b/mainline.sh index c0991a5f..6a85622f 100755 --- a/mainline.sh +++ b/mainline.sh @@ -6,7 +6,7 @@ set -ex export BUILD_ROOT=$PWD SCRIPTDIR=${BUILD_ROOT}/scripts -CURLDIR=/tmp/curl +export CURLDIR=/tmp/curl OPENSSLDIR=/tmp/openssl NGHTTPDIR=/tmp/nghttp2 INSTALLDIR=/tmp/curl_install @@ -31,8 +31,8 @@ shift $((OPTIND-1)) export CC=clang export CXX=clang++ FUZZ_FLAG="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" -export CFLAGS="-fsanitize=address" -export CXXFLAGS="-fsanitize=address -stdlib=libstdc++ $FUZZ_FLAG" +export CFLAGS="-fsanitize=address,fuzzer-no-link" +export CXXFLAGS="-fsanitize=address,fuzzer-no-link -stdlib=libstdc++ $FUZZ_FLAG" export CPPFLAGS="$FUZZ_FLAG" export OPENSSLFLAGS="-fno-sanitize=alignment" diff --git a/ossfuzz.sh b/ossfuzz.sh index d3b36728..bd3decb5 100755 --- a/ossfuzz.sh +++ b/ossfuzz.sh @@ -23,6 +23,7 @@ # Save off the current folder as the build root. export BUILD_ROOT=$PWD +export CURLDIR=/src/curl SCRIPTDIR=${BUILD_ROOT}/scripts . ${SCRIPTDIR}/fuzz_targets @@ -60,7 +61,7 @@ fi ${SCRIPTDIR}/handle_x.sh nghttp2 ${NGHTTPDIR} ${INSTALLDIR} || exit 1 # Compile curl -${SCRIPTDIR}/install_curl.sh /src/curl ${INSTALLDIR} +${SCRIPTDIR}/install_curl.sh $CURLDIR ${INSTALLDIR} # Build the fuzzers. ${SCRIPTDIR}/compile_fuzzer.sh ${INSTALLDIR} diff --git a/scripts/fuzz_targets b/scripts/fuzz_targets index 907a163a..3a68ffb3 100644 --- a/scripts/fuzz_targets +++ b/scripts/fuzz_targets @@ -1,3 +1,3 @@ #!/bin/bash -export FUZZ_TARGETS="curl_fuzzer_dict curl_fuzzer_file curl_fuzzer_ftp curl_fuzzer_gopher curl_fuzzer_http curl_fuzzer_https curl_fuzzer_imap curl_fuzzer_ldap curl_fuzzer_mqtt curl_fuzzer_pop3 curl_fuzzer_rtmp curl_fuzzer_rtsp curl_fuzzer_scp curl_fuzzer_sftp curl_fuzzer_smb curl_fuzzer_smtp curl_fuzzer_tftp curl_fuzzer_ws curl_fuzzer fuzz_url" +export FUZZ_TARGETS="curl_fuzzer_dict curl_fuzzer_file curl_fuzzer_ftp curl_fuzzer_gopher curl_fuzzer_http curl_fuzzer_https curl_fuzzer_imap curl_fuzzer_ldap curl_fuzzer_mqtt curl_fuzzer_pop3 curl_fuzzer_rtmp curl_fuzzer_rtsp curl_fuzzer_scp curl_fuzzer_sftp curl_fuzzer_smb curl_fuzzer_smtp curl_fuzzer_tftp curl_fuzzer_ws curl_fuzzer fuzz_url curl_fuzzer_altsvc curl_fuzzer_base64 curl_fuzzer_doh curl_fuzzer_escape curl_fuzzer_parsedate"