forked from boostorg/regex
Add first de-fuzzer files
This commit is contained in:
195
test/de_fuzz/dictionary.txt
Normal file
195
test/de_fuzz/dictionary.txt
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
|
||||||
|
r1="."
|
||||||
|
r2="["
|
||||||
|
r3="{"
|
||||||
|
r4="}"
|
||||||
|
r5="("
|
||||||
|
r6=")"
|
||||||
|
r7="\"
|
||||||
|
r8="*"
|
||||||
|
r9="+"
|
||||||
|
r10="?"
|
||||||
|
r11="|"
|
||||||
|
r12="^"
|
||||||
|
r13="$"
|
||||||
|
r14="]"
|
||||||
|
r15="{4}"
|
||||||
|
r15="{4,}"
|
||||||
|
r16="{4, 10}"
|
||||||
|
r17="*?"
|
||||||
|
r18="+?"
|
||||||
|
r19="??"
|
||||||
|
r20="*+"
|
||||||
|
r21="++"
|
||||||
|
r22="?+"
|
||||||
|
r23="{4}?"
|
||||||
|
r24="{4,}?"
|
||||||
|
r25="{4, 10}?"
|
||||||
|
r26="{4}"
|
||||||
|
r27="{4,}"
|
||||||
|
r28="{4, 10}"
|
||||||
|
r29="\1"
|
||||||
|
r30="g1"
|
||||||
|
r31="g{1}"
|
||||||
|
r32="g-1"
|
||||||
|
r33="g{one}"
|
||||||
|
r34="\k<one>"
|
||||||
|
r35="[abc]"
|
||||||
|
r36="[a-c]"
|
||||||
|
r36="[^abc]"
|
||||||
|
r37="[[:alnum:]]"
|
||||||
|
r38="[[:alpha:]]"
|
||||||
|
r39="[[:blank:]]"
|
||||||
|
r40="[[:cntrl:]]"
|
||||||
|
r41="[[:d:]]"
|
||||||
|
r42="[[:digit:]]"
|
||||||
|
r43="[[:grpah:]]"
|
||||||
|
r44="[[:l:]]"
|
||||||
|
r45="[[:lower:]]"
|
||||||
|
r46="[[:print:]]"
|
||||||
|
r47="[[:punct:]]"
|
||||||
|
r48="[[:s:]]"
|
||||||
|
r49="[[:space:]]"
|
||||||
|
r50="[[:unicode:]]"
|
||||||
|
r51="[[:u:]]"
|
||||||
|
r52="[[:upper:]]"
|
||||||
|
r53="[[:w:]]"
|
||||||
|
r54="[[:word:]]"
|
||||||
|
r55="[[:xdigit:]]"
|
||||||
|
r56="[[:ASCII:]]"
|
||||||
|
r57="[[:Any:]]"
|
||||||
|
r58="[[:Assigned:]]"
|
||||||
|
r59="[[:Other:]]"
|
||||||
|
r60="[[:Control:]]"
|
||||||
|
r61="[[:Format:]]"
|
||||||
|
r62="[[:Not Assigned:]]"
|
||||||
|
r63="[[:Private Use:]]"
|
||||||
|
r64="[[:Surrogate:]]"
|
||||||
|
r65="[[:Letter:]]"
|
||||||
|
r66="[[:Lowercase Letter:]]"
|
||||||
|
r67="[[:Modifier Letter:]]"
|
||||||
|
r68="[[:Other Letter:]]"
|
||||||
|
r69="[[:Titlecase:]]"
|
||||||
|
r70="[[:Uppercae Letter:]]"
|
||||||
|
r71="[[:Mark:]]"
|
||||||
|
r72="[[:Mc:]]"
|
||||||
|
r73="[[:Me:]]"
|
||||||
|
r74="[[:Mn:]]"
|
||||||
|
r75="[[:N*:]]"
|
||||||
|
r76="[[:Md:]]"
|
||||||
|
r77="[[:Nl:]]"
|
||||||
|
r78="[[:No:]]"
|
||||||
|
r79="[[:P*:]]"
|
||||||
|
r80="[[:Pc:]]"
|
||||||
|
r81="[[:Pd:]]"
|
||||||
|
r82="[[:Pd:]]"
|
||||||
|
r83="[[:Pe:]]"
|
||||||
|
r84="[[:Pf:]]"
|
||||||
|
r85="[[:Pi:]]"
|
||||||
|
r86="[[:Po:]]"
|
||||||
|
r87="[[:Ps:]]"
|
||||||
|
r88="[[:S*:]]"
|
||||||
|
r89="[[:Sc:]]"
|
||||||
|
r90="[[:Sk:]]"
|
||||||
|
r91="[[:Sm:]]"
|
||||||
|
r92="[[:So:]]"
|
||||||
|
r93="[[:Z*:]]"
|
||||||
|
r94="[[:Zl:]]"
|
||||||
|
r95="[[:Zp:]]"
|
||||||
|
r96="[[:Zs:]]"
|
||||||
|
r98="[[.NUL.]]"
|
||||||
|
r99="[[.SOH.]]"
|
||||||
|
r100="[[.alert.]]"
|
||||||
|
r101="[[=a=]]"
|
||||||
|
r102="\a"
|
||||||
|
r103="\e"
|
||||||
|
r104="\r"
|
||||||
|
r105="\n"
|
||||||
|
r106="\t"
|
||||||
|
r107="\v"
|
||||||
|
r108="\b"
|
||||||
|
r109="\C9"
|
||||||
|
r110="\xcf"
|
||||||
|
r111="\x{13}"
|
||||||
|
r112="\x{01f4}"
|
||||||
|
r113="\0456"
|
||||||
|
r114="\N{newline}"
|
||||||
|
r115="\d"
|
||||||
|
r116="\l"
|
||||||
|
r117="\s"
|
||||||
|
r118="\u"
|
||||||
|
r119="\w"
|
||||||
|
r120="\h"
|
||||||
|
r121="\v"
|
||||||
|
r122="\D"
|
||||||
|
r123="\L"
|
||||||
|
r124="\S"
|
||||||
|
r125="\U"
|
||||||
|
r126="\W"
|
||||||
|
r127="\H"
|
||||||
|
r128="\V"
|
||||||
|
r129="\pd"
|
||||||
|
r130="\p{digit}"
|
||||||
|
r131="\Pd"
|
||||||
|
r132="\P{digit}"
|
||||||
|
r133="\<"
|
||||||
|
r134="\>"
|
||||||
|
r135="\b"
|
||||||
|
r136="\B"
|
||||||
|
r137="\`"
|
||||||
|
r138="\'"
|
||||||
|
r139="\A"
|
||||||
|
r140="\z"
|
||||||
|
r141="\Z"
|
||||||
|
r142="\G"
|
||||||
|
r143="\Q"
|
||||||
|
r144="\E"
|
||||||
|
r145="\C"
|
||||||
|
r146="\R"
|
||||||
|
r147="\K"
|
||||||
|
r148="(?<one>abc)"
|
||||||
|
r149="(?<one>"
|
||||||
|
r150="(?'one'abc)"
|
||||||
|
r151="(?'one'"
|
||||||
|
r152="(?#annansnsbdgh)"
|
||||||
|
r153="(?i)"
|
||||||
|
r154="(?-i)"
|
||||||
|
r155="(?s)"
|
||||||
|
r156="(?-s)"
|
||||||
|
r157="(?m)"
|
||||||
|
r158="(?-m)"
|
||||||
|
r153="(?x)"
|
||||||
|
r154="(?-x)"
|
||||||
|
r153="(?i:abcd)"
|
||||||
|
r154="(?-i:abcd)"
|
||||||
|
r155="(?:"
|
||||||
|
r156="(?|"
|
||||||
|
r157="(?="
|
||||||
|
r158="(?!"
|
||||||
|
r159="(?<="
|
||||||
|
r160="(?<!"
|
||||||
|
r170="(>"
|
||||||
|
r171="(?1)"
|
||||||
|
r172="(?-1)"
|
||||||
|
r173="(?+1)"
|
||||||
|
r174="(?R)"
|
||||||
|
r175="(?0)"
|
||||||
|
r176="(?&one)"
|
||||||
|
r177="(?(?=\>)"
|
||||||
|
r178="(?(?!\>)"
|
||||||
|
r179="(?(1)"
|
||||||
|
r180="(?(<one>)"
|
||||||
|
r181="(?('one')"
|
||||||
|
r182="(?(R)"
|
||||||
|
r183="(?(R1)"
|
||||||
|
r184="(?(R&one)"
|
||||||
|
r185="(?(DEFINE)"
|
||||||
|
r186="(*PRUNE)"
|
||||||
|
r187="(*SKIP)"
|
||||||
|
r188="(*THEN)"
|
||||||
|
r189="(*COMMIT)"
|
||||||
|
r190="(*FAIL)"
|
||||||
|
r191="(*ACCEPT)"
|
||||||
|
|
||||||
|
|
||||||
|
|
19
test/de_fuzz/narrow.cpp
Normal file
19
test/de_fuzz/narrow.cpp
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
#include <boost/regex.hpp>
|
||||||
|
|
||||||
|
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
|
||||||
|
{
|
||||||
|
if(Size < 2)
|
||||||
|
return 0;
|
||||||
|
try{
|
||||||
|
size_t len = (Data[1] << 8) | Data[0];
|
||||||
|
std::string str((char*)(Data + 2), len);
|
||||||
|
std::string text((char*)(Data + len), Size - len);
|
||||||
|
boost::regex e(str);
|
||||||
|
boost::smatch what;
|
||||||
|
regex_search(text, what, e, boost::match_default|boost::match_partial);
|
||||||
|
}
|
||||||
|
catch(const std::exception&){}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user