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