regex/test/de_fuzz/wide.cpp
2017-02-22 17:02:34 +00:00

22 lines
532 B
C++

#include <boost/regex.hpp>
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
{
if(Size < 2)
return 0;
std::vector<wchar_t> v(Data, Data + Size);
try{
size_t len = (Data[1] << 8) | Data[0];
if(len > Size - 2) len = Size - 2;
std::wstring str(&v[0] + 2, len);
std::wstring text(&v[0] + len, Size - len);
boost::wregex e(str);
boost::wsmatch what;
regex_search(text, what, e, boost::match_default|boost::match_partial);
}
catch(const std::exception&){}
return 0;
}