mirror of
https://github.com/boostorg/regex.git
synced 2025-07-15 21:32:18 +02:00
Compare commits
9 Commits
boost-1.84
...
recusion_s
Author | SHA1 | Date | |
---|---|---|---|
10df075bc5 | |||
1e0938cca6 | |||
2609fccb23 | |||
5ee5453d56 | |||
ae34d3cfc5 | |||
b99ec17c8e | |||
1a6c4cfb10 | |||
1d50b15245 | |||
b86985e65a |
26
.github/workflows/ci.yml
vendored
26
.github/workflows/ci.yml
vendored
@ -13,12 +13,12 @@ on:
|
||||
release:
|
||||
types: [published, created, edited]
|
||||
jobs:
|
||||
ubuntu-focal:
|
||||
runs-on: ubuntu-20.04
|
||||
ubuntu-jammy:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [ g++-9, g++-10, clang++-9, clang++-10 ]
|
||||
compiler: [ g++-11, g++-12, g++-13 ]
|
||||
standard: [ c++11, c++14, c++17, c++2a ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@ -34,7 +34,7 @@ jobs:
|
||||
- name: Add repository
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Install packages
|
||||
run: sudo apt install g++-9 g++-10 clang-9 clang-10 libicu-dev
|
||||
run: sudo apt install g++-11 g++-12 g++-13
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
@ -55,11 +55,8 @@ jobs:
|
||||
- name: Generate user config
|
||||
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : <cxxflags>-std=${{ matrix.standard }} ;" > ~/user-config.jam'
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ../../../b2 config_info_travis_install toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: ./config_info_travis
|
||||
run: ../../../b2 print_config_info toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ../../../b2 toolset=$TOOLSET
|
||||
@ -89,12 +86,12 @@ jobs:
|
||||
- name: Test
|
||||
run: ${{ matrix.compiler }} -std=${{ matrix.standard }} -I../../include *.cpp ../../src/*.cpp -o regress && ./regress
|
||||
working-directory: ./test/regress
|
||||
ubuntu-bionic:
|
||||
runs-on: ubuntu-18.04
|
||||
ubuntu-jammy-clang:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [ g++-7, g++-8, clang++-7, clang++-8 ]
|
||||
compiler: [ clang++-15 ]
|
||||
standard: [ c++11, c++14, c++17 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@ -110,7 +107,7 @@ jobs:
|
||||
- name: Add repository
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Install packages
|
||||
run: sudo apt install g++-7 g++-8 clang-7 clang-8 libicu-dev
|
||||
run: sudo apt install clang-15
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
@ -131,11 +128,8 @@ jobs:
|
||||
- name: Generate user config
|
||||
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : <cxxflags>-std=${{ matrix.standard }} ;" > ~/user-config.jam'
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ../../../b2 config_info_travis_install toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: ./config_info_travis
|
||||
run: ../../../b2 print_config_info toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ../../../b2 toolset=$TOOLSET define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER
|
||||
|
@ -47,19 +47,19 @@ test-suite regex-examples :
|
||||
[ regex-test-run snippets/partial_regex_grep.cpp : $(BOOST_ROOT)/libs/regex/index.htm ]
|
||||
[ regex-test-run snippets/partial_regex_iterate.cpp : $(BOOST_ROOT)/libs/regex/index.htm ]
|
||||
[ regex-test-run snippets/partial_regex_match.cpp : 1234-5678-8765-4 ]
|
||||
[ regex-test-run snippets/regex_grep_example_1.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_2.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_3.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_4.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_1.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_2.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_3.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_grep_example_4.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_match_example.cpp : -auto ]
|
||||
[ regex-test-run snippets/regex_merge_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_replace_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_search_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_merge_example.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_replace_example.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_search_example.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ regex-test-run snippets/regex_split_example_1.cpp : -auto ]
|
||||
[ regex-test-run snippets/regex_split_example_2.cpp : $(BOOST_ROOT)/libs/regex/doc/html/index.html ]
|
||||
[ regex-test-run snippets/regex_token_iterator_eg_1.cpp : -auto ]
|
||||
[ regex-test-run snippets/regex_token_iterator_eg_2.cpp : $(BOOST_ROOT)/libs/regex/doc/html/index.html ]
|
||||
[ regex-test-run snippets/regex_iterator_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ]
|
||||
[ regex-test-run snippets/regex_iterator_example.cpp : $(BOOST_ROOT)/boost/regex/v5/regex_token_iterator.hpp ]
|
||||
[ run snippets/captures_example.cpp
|
||||
../test/captures//boost_regex_extra
|
||||
: : : <threading>multi <define>BOOST_REGEX_MATCH_EXTRA=1 ]
|
||||
|
@ -13,6 +13,8 @@
|
||||
#pragma warning(disable: 4996 4127)
|
||||
#endif
|
||||
|
||||
#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/cregex.hpp>
|
||||
|
@ -127,6 +127,9 @@ bool operator == (const allocator_architype<T>&, const allocator_architype<T>&)
|
||||
template <class T>
|
||||
bool operator != (const allocator_architype<T>&, const allocator_architype<T>&) { return false; }
|
||||
|
||||
template <class T>
|
||||
void consume_type() {}
|
||||
|
||||
namespace boost{
|
||||
//
|
||||
// regex_traits_architype:
|
||||
@ -371,6 +374,8 @@ struct BaseRegexConcept
|
||||
e1 = except.code();
|
||||
|
||||
typedef typename Regex::value_type regex_value_type;
|
||||
regex_value_type val{};
|
||||
ignore_unused_variable_warning(val);
|
||||
function_requires< RegexTraitsConcept<global_regex_namespace::regex_traits<char> > >();
|
||||
function_requires< BaseRegexConcept<global_regex_namespace::basic_regex<char> > >();
|
||||
}
|
||||
@ -446,15 +451,25 @@ struct BaseRegexConcept
|
||||
// match_results tests - some typedefs are not used, however these
|
||||
// guarante that they exist (some compilers may warn on non-usage)
|
||||
typedef typename match_results_type::value_type mr_value_type;
|
||||
consume_type<mr_value_type>();
|
||||
typedef typename match_results_type::const_reference mr_const_reference;
|
||||
consume_type<mr_const_reference>();
|
||||
typedef typename match_results_type::reference mr_reference;
|
||||
consume_type<mr_reference>();
|
||||
typedef typename match_results_type::const_iterator mr_const_iterator;
|
||||
consume_type<mr_const_iterator>();
|
||||
typedef typename match_results_type::iterator mr_iterator;
|
||||
consume_type<mr_iterator>();
|
||||
typedef typename match_results_type::difference_type mr_difference_type;
|
||||
consume_type<mr_difference_type>();
|
||||
typedef typename match_results_type::size_type mr_size_type;
|
||||
consume_type<mr_size_type>();
|
||||
typedef typename match_results_type::allocator_type mr_allocator_type;
|
||||
consume_type<mr_allocator_type>();
|
||||
typedef typename match_results_type::char_type mr_char_type;
|
||||
consume_type<mr_char_type>();
|
||||
typedef typename match_results_type::string_type mr_string_type;
|
||||
consume_type<mr_string_type>();
|
||||
|
||||
match_results_type m1;
|
||||
mr_allocator_type at;
|
||||
|
@ -90,6 +90,8 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_REGEX_MAX_RECURSION_DEPTH 100
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
@ -93,3 +93,7 @@
|
||||
|
||||
// define this if you want regex to use __cdecl calling convensions, even when __fastcall is available:
|
||||
// #define BOOST_REGEX_NO_FASTCALL
|
||||
|
||||
// define this to control how deep non-avoidable recursive function calls can go, typical expressions
|
||||
// and format strings should only recurse a handful of times, this is mainly to prevent DOS type attacks.
|
||||
// #define BOOST_REGEX_MAX_RECURSION_DEPTH 100
|
||||
|
@ -248,7 +248,7 @@ private:
|
||||
void fixup_recursions(re_syntax_base* state);
|
||||
void create_startmaps(re_syntax_base* state);
|
||||
int calculate_backstep(re_syntax_base* state);
|
||||
void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask);
|
||||
void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask, unsigned recursion_count = 0);
|
||||
unsigned get_restart_type(re_syntax_base* state);
|
||||
void set_all_masks(unsigned char* bits, unsigned char);
|
||||
bool is_bad_repeat(re_syntax_base* pt);
|
||||
@ -1074,7 +1074,7 @@ struct recursion_saver
|
||||
};
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask)
|
||||
void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask, unsigned recursion_count)
|
||||
{
|
||||
recursion_saver saved_recursions(&m_recursion_checks);
|
||||
int not_last_jump = 1;
|
||||
@ -1085,6 +1085,28 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
|
||||
// track case sensitivity:
|
||||
bool l_icase = m_icase;
|
||||
|
||||
if (recursion_count > BOOST_REGEX_MAX_RECURSION_DEPTH)
|
||||
{
|
||||
// Oops error:
|
||||
if (0 == this->m_pdata->m_status) // update the error code if not already set
|
||||
this->m_pdata->m_status = boost::regex_constants::error_complexity;
|
||||
//
|
||||
// clear the expression, we should be empty:
|
||||
//
|
||||
this->m_pdata->m_expression = 0;
|
||||
this->m_pdata->m_expression_len = 0;
|
||||
//
|
||||
// and throw if required:
|
||||
//
|
||||
if (0 == (this->flags() & regex_constants::no_except))
|
||||
{
|
||||
std::string message = "Expression complexity exceeded.";
|
||||
boost::regex_error e(message, boost::regex_constants::error_complexity, 0);
|
||||
e.raise();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
while(state)
|
||||
{
|
||||
switch(state->type)
|
||||
@ -1122,7 +1144,7 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
|
||||
}
|
||||
// now figure out if we can match a NULL string at this point:
|
||||
if(pnull)
|
||||
create_startmap(state->next.p, 0, pnull, mask);
|
||||
create_startmap(state->next.p, 0, pnull, mask, ++recursion_count);
|
||||
return;
|
||||
}
|
||||
case syntax_element_recurse:
|
||||
@ -1184,7 +1206,7 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
|
||||
case syntax_element_word_start:
|
||||
{
|
||||
// recurse, then AND with all the word characters:
|
||||
create_startmap(state->next.p, l_map, pnull, mask);
|
||||
create_startmap(state->next.p, l_map, pnull, mask, ++recursion_count);
|
||||
if(l_map)
|
||||
{
|
||||
l_map[0] |= mask_init;
|
||||
@ -1199,7 +1221,7 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
|
||||
case syntax_element_word_end:
|
||||
{
|
||||
// recurse, then AND with all the word characters:
|
||||
create_startmap(state->next.p, l_map, pnull, mask);
|
||||
create_startmap(state->next.p, l_map, pnull, mask, ++recursion_count);
|
||||
if(l_map)
|
||||
{
|
||||
l_map[0] |= mask_init;
|
||||
@ -1291,11 +1313,11 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
|
||||
return;
|
||||
}
|
||||
set_bad_repeat(state);
|
||||
create_startmap(state->next.p, l_map, pnull, mask);
|
||||
create_startmap(state->next.p, l_map, pnull, mask, ++recursion_count);
|
||||
if((state->type == syntax_element_alt)
|
||||
|| (static_cast<re_repeat*>(state)->min == 0)
|
||||
|| (not_last_jump == 0))
|
||||
create_startmap(rep->alt.p, l_map, pnull, mask);
|
||||
create_startmap(rep->alt.p, l_map, pnull, mask, ++recursion_count);
|
||||
}
|
||||
}
|
||||
return;
|
||||
@ -1354,7 +1376,7 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
|
||||
if(ok && ((m_recursion_checks[static_cast<re_brace*>(state)->index] & 2u) == 0))
|
||||
{
|
||||
m_recursion_checks[static_cast<re_brace*>(state)->index] |= 2u;
|
||||
create_startmap(p->next.p, l_map, pnull, mask);
|
||||
create_startmap(p->next.p, l_map, pnull, mask, ++recursion_count);
|
||||
}
|
||||
}
|
||||
state = state->next.p;
|
||||
|
@ -97,11 +97,11 @@ private:
|
||||
|
||||
void put(char_type c);
|
||||
void put(const sub_match_type& sub);
|
||||
void format_all();
|
||||
void format_all(unsigned recursion_count = 0);
|
||||
void format_perl();
|
||||
void format_escape();
|
||||
void format_conditional();
|
||||
void format_until_scope_end();
|
||||
void format_conditional(unsigned recursion_count);
|
||||
void format_until_scope_end(unsigned recursion_count);
|
||||
bool handle_perl_verb(bool have_brace);
|
||||
|
||||
inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant<bool, false>&)
|
||||
@ -199,7 +199,7 @@ OutputIterator basic_regex_formatter<OutputIterator, Results, traits, ForwardIte
|
||||
}
|
||||
|
||||
template <class OutputIterator, class Results, class traits, class ForwardIter>
|
||||
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_all()
|
||||
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_all(unsigned recursion_count)
|
||||
{
|
||||
// over and over:
|
||||
while(m_position != m_end)
|
||||
@ -219,12 +219,12 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
format_escape();
|
||||
break;
|
||||
case '(':
|
||||
if(m_flags & boost::regex_constants::format_all)
|
||||
if((m_flags & boost::regex_constants::format_all) && (recursion_count < BOOST_REGEX_MAX_RECURSION_DEPTH))
|
||||
{
|
||||
++m_position;
|
||||
bool have_conditional = m_have_conditional;
|
||||
m_have_conditional = false;
|
||||
format_until_scope_end();
|
||||
format_until_scope_end(recursion_count);
|
||||
m_have_conditional = have_conditional;
|
||||
if(m_position == m_end)
|
||||
return;
|
||||
@ -252,10 +252,10 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
++m_position;
|
||||
break;
|
||||
case '?':
|
||||
if(m_flags & boost::regex_constants::format_all)
|
||||
if((m_flags & boost::regex_constants::format_all) && (recursion_count < BOOST_REGEX_MAX_RECURSION_DEPTH))
|
||||
{
|
||||
++m_position;
|
||||
format_conditional();
|
||||
format_conditional(recursion_count);
|
||||
break;
|
||||
}
|
||||
put(*m_position);
|
||||
@ -644,7 +644,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
}
|
||||
|
||||
template <class OutputIterator, class Results, class traits, class ForwardIter>
|
||||
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_conditional()
|
||||
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_conditional(unsigned recursion_count)
|
||||
{
|
||||
if(m_position == m_end)
|
||||
{
|
||||
@ -692,7 +692,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
if(m_results[v].matched)
|
||||
{
|
||||
m_have_conditional = true;
|
||||
format_all();
|
||||
format_all(++recursion_count);
|
||||
m_have_conditional = false;
|
||||
if((m_position != m_end) && (*m_position == static_cast<char_type>(':')))
|
||||
{
|
||||
@ -702,7 +702,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
output_state saved_state = m_state;
|
||||
m_state = output_none;
|
||||
// format the rest of this scope:
|
||||
format_until_scope_end();
|
||||
format_until_scope_end(recursion_count);
|
||||
// restore output state:
|
||||
m_state = saved_state;
|
||||
}
|
||||
@ -714,7 +714,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
m_state = output_none;
|
||||
// format until ':' or ')':
|
||||
m_have_conditional = true;
|
||||
format_all();
|
||||
format_all(++recursion_count);
|
||||
m_have_conditional = false;
|
||||
// restore state:
|
||||
m_state = saved_state;
|
||||
@ -723,17 +723,17 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
||||
// skip the ':':
|
||||
++m_position;
|
||||
// format the rest of this scope:
|
||||
format_until_scope_end();
|
||||
format_until_scope_end(recursion_count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <class OutputIterator, class Results, class traits, class ForwardIter>
|
||||
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_until_scope_end()
|
||||
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_until_scope_end(unsigned recursion_count)
|
||||
{
|
||||
do
|
||||
{
|
||||
format_all();
|
||||
format_all(++recursion_count);
|
||||
if((m_position == m_end) || (*m_position == static_cast<char_type>(')')))
|
||||
return;
|
||||
put(*m_position++);
|
||||
|
@ -35,6 +35,7 @@ class u32regex_iterator_implementation
|
||||
public:
|
||||
u32regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f)
|
||||
: base(), end(last), re(*p), flags(f){}
|
||||
u32regex_iterator_implementation(const u32regex_iterator_implementation&) = default;
|
||||
bool init(BidirectionalIterator first)
|
||||
{
|
||||
base = first;
|
||||
|
179
test/Jamfile.v2
179
test/Jamfile.v2
@ -78,149 +78,60 @@ lib boost_regex_recursive :
|
||||
|
||||
local regress-sources = regress/$(R_SOURCE) ;
|
||||
|
||||
test-suite regex
|
||||
:
|
||||
[ run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
: regex_regress ]
|
||||
run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
: regex_regress ;
|
||||
|
||||
[ run regress/$(R_SOURCE) ../build//boost_regex
|
||||
../../thread/build//boost_thread ../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
<define>TEST_THREADS
|
||||
: regex_regress_threaded ]
|
||||
run regress/$(R_SOURCE) ../build//boost_regex
|
||||
../../thread/build//boost_thread ../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
<define>TEST_THREADS
|
||||
: regex_regress_threaded ;
|
||||
|
||||
[ run regress/$(R_SOURCE) ../build//boost_regex
|
||||
../../thread/build//boost_thread ../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
<define>TEST_THREADS
|
||||
<define>BOOST_REGEX_MAX_CACHE_BLOCKS=0
|
||||
: regex_regress_threaded_no_cache ]
|
||||
|
||||
[ regex-test posix_api_check : c_compiler_checks/posix_api_check.c ]
|
||||
|
||||
[ compile c_compiler_checks/wide_posix_api_check.c
|
||||
: : wide_posix_api_check_c ]
|
||||
|
||||
[ regex-test posix_api_check_cpp : c_compiler_checks/posix_api_check.cpp ]
|
||||
|
||||
[ regex-test wide_posix_api_check_cpp
|
||||
: c_compiler_checks/wide_posix_api_check.cpp ]
|
||||
|
||||
[ run pathology/bad_expression_test.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
|
||||
[ run pathology/recursion_test.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
|
||||
[ run named_subexpressions/named_subexpressions_test.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
|
||||
[ run unicode/unicode_iterator_test.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
release <define>TEST_UTF8 : unicode_iterator_test_utf8 ]
|
||||
[ run unicode/unicode_iterator_test.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
release <define>TEST_UTF16 : unicode_iterator_test_utf16 ]
|
||||
[ run unicode/unicode_casefold_test.cpp
|
||||
../build//boost_regex ../build//icu_options
|
||||
]
|
||||
[ run static_mutex/static_mutex_test.cpp
|
||||
../../thread/build//boost_thread ../build//boost_regex
|
||||
]
|
||||
[ run object_cache/object_cache_test.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
|
||||
[ run config_info/regex_config_info.cpp
|
||||
../build//boost_regex/<link>static
|
||||
: # command line
|
||||
: # input files
|
||||
: <test-info>always_show_run_output
|
||||
]
|
||||
[ run config_info/regex_config_info.cpp ../build//boost_regex
|
||||
: # command line
|
||||
: # input files
|
||||
: <test-info>always_show_run_output
|
||||
: regex_dll_config_info
|
||||
]
|
||||
|
||||
[ run collate_info/collate_info.cpp ../build//boost_regex
|
||||
: : : <test-info>always_show_run_output : test_collate_info ]
|
||||
|
||||
|
||||
[ link concepts/concept_check.cpp :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
[ link concepts/concept_check.cpp :
|
||||
<define>BOOST_REGEX_STANDALONE [ check-target-builds ../build//is_legacy_03 : : <build>no ] : standalone_concept_check
|
||||
]
|
||||
[ link concepts/icu_concept_check.cpp :
|
||||
<define>BOOST_REGEX_STANDALONE [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
[ link concepts/icu_concept_check.cpp :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <build>no ] : standalone_icu_concept_check
|
||||
]
|
||||
[ link concepts/range_concept_check.cpp :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
[ run concepts/test_bug_11988.cpp : : :
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
]
|
||||
|
||||
[ run
|
||||
# sources
|
||||
captures/captures_test.cpp
|
||||
../build//icu_options
|
||||
: # additional args
|
||||
: # test-files
|
||||
: # requirements
|
||||
<threading>multi
|
||||
<define>BOOST_REGEX_MATCH_EXTRA=1
|
||||
<define>BOOST_REGEX_NO_LIB=1
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ]
|
||||
: # test name
|
||||
captures_test
|
||||
]
|
||||
|
||||
[ run regress/$(R_SOURCE) .//boost_regex_recursive
|
||||
../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
<define>BOOST_REGEX_RECURSIVE=1
|
||||
<define>BOOST_REGEX_CXX03=1
|
||||
: regex_regress_recursive ]
|
||||
|
||||
[ run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh
|
||||
../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
<define>BOOST_NO_EXCEPTIONS=1
|
||||
<exception-handling>off
|
||||
<link>static
|
||||
<runtime-link>shared
|
||||
: regex_regress_noeh ]
|
||||
|
||||
;
|
||||
run regress/$(R_SOURCE) ../build//boost_regex
|
||||
../../thread/build//boost_thread ../build//icu_options
|
||||
: # command line
|
||||
: # input files
|
||||
: # requirements
|
||||
<define>TEST_THREADS
|
||||
<define>BOOST_REGEX_MAX_CACHE_BLOCKS=0
|
||||
: regex_regress_threaded_no_cache ;
|
||||
|
||||
regex-test posix_api_check : c_compiler_checks/posix_api_check.c ;
|
||||
compile c_compiler_checks/wide_posix_api_check.c : : wide_posix_api_check_c ;
|
||||
regex-test posix_api_check_cpp : c_compiler_checks/posix_api_check.cpp ;
|
||||
regex-test wide_posix_api_check_cpp : c_compiler_checks/wide_posix_api_check.cpp ;
|
||||
run pathology/bad_expression_test.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] ;
|
||||
run pathology/recursion_test.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] ;
|
||||
run named_subexpressions/named_subexpressions_test.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] ;
|
||||
run unicode/unicode_iterator_test.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] release <define>TEST_UTF8 : unicode_iterator_test_utf8 ;
|
||||
run unicode/unicode_iterator_test.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] release <define>TEST_UTF16 : unicode_iterator_test_utf16 ;
|
||||
run unicode/unicode_casefold_test.cpp ../build//boost_regex ../build//icu_options ;
|
||||
run static_mutex/static_mutex_test.cpp ../../thread/build//boost_thread ../build//boost_regex ;
|
||||
run object_cache/object_cache_test.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] ;
|
||||
run config_info/regex_config_info.cpp ../build//boost_regex/<link>static : : : <test-info>always_show_run_output ;
|
||||
run config_info/regex_config_info.cpp ../build//boost_regex : : : <test-info>always_show_run_output : regex_dll_config_info ;
|
||||
run collate_info/collate_info.cpp ../build//boost_regex : : : <test-info>always_show_run_output : test_collate_info ;
|
||||
link concepts/concept_check.cpp : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] <toolset>gcc:<cxxflags>-Wno-deprecated-copy ;
|
||||
link concepts/concept_check.cpp : <define>BOOST_REGEX_STANDALONE [ check-target-builds ../build//is_legacy_03 : : <build>no ] <toolset>gcc:<cxxflags>-Wno-deprecated-copy : standalone_concept_check ;
|
||||
link concepts/icu_concept_check.cpp : <define>BOOST_REGEX_STANDALONE [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] <toolset>gcc:<cxxflags>-Wno-deprecated-copy ;
|
||||
link concepts/icu_concept_check.cpp : [ check-target-builds ../build//is_legacy_03 : : <build>no ] <toolset>gcc:<cxxflags>-Wno-deprecated-copy : standalone_icu_concept_check ;
|
||||
link concepts/range_concept_check.cpp : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] <toolset>gcc:<cxxflags>-Wno-deprecated-copy ;
|
||||
run concepts/test_bug_11988.cpp : : : [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] ;
|
||||
run captures/captures_test.cpp ../build//icu_options : : : <threading>multi <define>BOOST_REGEX_MATCH_EXTRA=1 <define>BOOST_REGEX_NO_LIB=1
|
||||
[ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] : captures_test ;
|
||||
run regress/$(R_SOURCE) .//boost_regex_recursive ../build//icu_options : : : <define>BOOST_REGEX_RECURSIVE=1 <define>BOOST_REGEX_CXX03=1 : regex_regress_recursive ;
|
||||
run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh ../build//icu_options : : : <define>BOOST_NO_EXCEPTIONS=1 <exception-handling>off <link>static <runtime-link>shared : regex_regress_noeh ;
|
||||
compile test_consolidated.cpp ;
|
||||
|
||||
build-project ../example ;
|
||||
|
||||
# `quick` target (for CI)
|
||||
run quick.cpp ../build//boost_regex ;
|
||||
|
||||
compile test_warnings.cpp
|
||||
: <toolset>msvc:<warnings>all <toolset>msvc:<warnings-as-errors>on
|
||||
<toolset>gcc:<warnings>all <toolset>gcc:<warnings-as-errors>on
|
||||
|
BIN
test/de_fuzz/corpus/001ba32e9488b739cad5c47cf6743092c3e959ba
Normal file
BIN
test/de_fuzz/corpus/001ba32e9488b739cad5c47cf6743092c3e959ba
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0022cb33f1cee7a46b962b9531184db5c56061df
Normal file
BIN
test/de_fuzz/corpus/0022cb33f1cee7a46b962b9531184db5c56061df
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0024c001b45a2ff3eb568d8a0c3e461aceb73417
Normal file
BIN
test/de_fuzz/corpus/0024c001b45a2ff3eb568d8a0c3e461aceb73417
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/008845a0cee378bad5ae87f276ce5f942febab66
Normal file
BIN
test/de_fuzz/corpus/008845a0cee378bad5ae87f276ce5f942febab66
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/009a13687872382d9ea4ccb32d90583fcdbd43b7
Normal file
BIN
test/de_fuzz/corpus/009a13687872382d9ea4ccb32d90583fcdbd43b7
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/00ebfa429dbb73ad5188bdb5956364b45e4b8c71
Normal file
BIN
test/de_fuzz/corpus/00ebfa429dbb73ad5188bdb5956364b45e4b8c71
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/00f8a813a4079f137f5a7ba9ad2d8d759afe8fa6
Normal file
BIN
test/de_fuzz/corpus/00f8a813a4079f137f5a7ba9ad2d8d759afe8fa6
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/01745b71bcf3c1f4763f1e0ac7b9ed8e55af4596
Normal file
BIN
test/de_fuzz/corpus/01745b71bcf3c1f4763f1e0ac7b9ed8e55af4596
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/01ba758580a918e8dd905999396066804be057d3
Normal file
BIN
test/de_fuzz/corpus/01ba758580a918e8dd905999396066804be057d3
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/01daae36295786b241b430e93bc27ecdb21d0e1c
Normal file
BIN
test/de_fuzz/corpus/01daae36295786b241b430e93bc27ecdb21d0e1c
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0214b13c2b40b2fe579aeaa2b803ebbfcd80effb
Normal file
BIN
test/de_fuzz/corpus/0214b13c2b40b2fe579aeaa2b803ebbfcd80effb
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0219a92fba5b22aad678f90c02fea5f718afbb81
Normal file
BIN
test/de_fuzz/corpus/0219a92fba5b22aad678f90c02fea5f718afbb81
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/024349a474519deb9e508901eaf34ef39792ff8c
Normal file
BIN
test/de_fuzz/corpus/024349a474519deb9e508901eaf34ef39792ff8c
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/024999955824849ef5de2856ee5e29a682bb0991
Normal file
BIN
test/de_fuzz/corpus/024999955824849ef5de2856ee5e29a682bb0991
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/025bb14c5c3d27a0908f0bb363dc4988918ff67b
Normal file
BIN
test/de_fuzz/corpus/025bb14c5c3d27a0908f0bb363dc4988918ff67b
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/02a5620461612a1944428314410762a948f95bb3
Normal file
BIN
test/de_fuzz/corpus/02a5620461612a1944428314410762a948f95bb3
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/02d8400da629642911de8704c15e20932f0d7d38
Normal file
BIN
test/de_fuzz/corpus/02d8400da629642911de8704c15e20932f0d7d38
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/02f33a351a3bbc21f6fb7f2f7fd980c730f32cb0
Normal file
BIN
test/de_fuzz/corpus/02f33a351a3bbc21f6fb7f2f7fd980c730f32cb0
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/02f406876967292fa39f061dd1ec2ff0e3c53e74
Normal file
BIN
test/de_fuzz/corpus/02f406876967292fa39f061dd1ec2ff0e3c53e74
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/031ca47c0959456d1f0dacd483cb3167dfb05aad
Normal file
BIN
test/de_fuzz/corpus/031ca47c0959456d1f0dacd483cb3167dfb05aad
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+;+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+b)
|
BIN
test/de_fuzz/corpus/035e7ceca28af7af6a84062ab32fefa2c54b869f
Normal file
BIN
test/de_fuzz/corpus/035e7ceca28af7af6a84062ab32fefa2c54b869f
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0377c135f27099a908e16b2939f2576c76664cb6
Normal file
BIN
test/de_fuzz/corpus/0377c135f27099a908e16b2939f2576c76664cb6
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/03a4aada6edc5cfd457ffe100222aa70fb632303
Normal file
BIN
test/de_fuzz/corpus/03a4aada6edc5cfd457ffe100222aa70fb632303
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/03c11cdd4941456244521dbfdcc2c7e203cbf029
Normal file
BIN
test/de_fuzz/corpus/03c11cdd4941456244521dbfdcc2c7e203cbf029
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/03ce080ad97029cfc9eef7522183313f1ca6c2d3
Normal file
BIN
test/de_fuzz/corpus/03ce080ad97029cfc9eef7522183313f1ca6c2d3
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/045a1eefc4794466a95d88258d9ef04770d73185
Normal file
BIN
test/de_fuzz/corpus/045a1eefc4794466a95d88258d9ef04770d73185
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0493029275f5fd15bdbdeb0cecc75446e6129b5f
Normal file
BIN
test/de_fuzz/corpus/0493029275f5fd15bdbdeb0cecc75446e6129b5f
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/04a5b0fee5ba00981cfa30fb43699627807c5cbc
Normal file
BIN
test/de_fuzz/corpus/04a5b0fee5ba00981cfa30fb43699627807c5cbc
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/04aef19f0180da14df8d2bcc28635eed295c6af8
Normal file
BIN
test/de_fuzz/corpus/04aef19f0180da14df8d2bcc28635eed295c6af8
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/04c166cc1bf6fc1f396da3060e44e2651d37fa50
Normal file
BIN
test/de_fuzz/corpus/04c166cc1bf6fc1f396da3060e44e2651d37fa50
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/04ee7e168599133f68121b7560dc006209927d0e
Normal file
BIN
test/de_fuzz/corpus/04ee7e168599133f68121b7560dc006209927d0e
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/04fc8bac2ae97c2f41cf8ba47deae7d2269d9ef5
Normal file
BIN
test/de_fuzz/corpus/04fc8bac2ae97c2f41cf8ba47deae7d2269d9ef5
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/052e71789f1e90175615dfd24fe118b1a1158673
Normal file
BIN
test/de_fuzz/corpus/052e71789f1e90175615dfd24fe118b1a1158673
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0537a45a09b74990c25c0511657488fadefd84f6
Normal file
BIN
test/de_fuzz/corpus/0537a45a09b74990c25c0511657488fadefd84f6
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0548a644f332978b8d884616855535c6b8a503d9
Normal file
BIN
test/de_fuzz/corpus/0548a644f332978b8d884616855535c6b8a503d9
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/055958c72de0a99f046371f1f0c86d99990c0729
Normal file
BIN
test/de_fuzz/corpus/055958c72de0a99f046371f1f0c86d99990c0729
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/057bcec01e2afc4cae4d007ead424c189e2cebe3
Normal file
BIN
test/de_fuzz/corpus/057bcec01e2afc4cae4d007ead424c189e2cebe3
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/05cb2c374cbbf2e671db840189026b71a3a4783c
Normal file
BIN
test/de_fuzz/corpus/05cb2c374cbbf2e671db840189026b71a3a4783c
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/060d2fbcaf8334670802325e0dc9784379fb09a6
Normal file
BIN
test/de_fuzz/corpus/060d2fbcaf8334670802325e0dc9784379fb09a6
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/065dc7b9683107bb0fdeee1ad147ca33421b4eda
Normal file
BIN
test/de_fuzz/corpus/065dc7b9683107bb0fdeee1ad147ca33421b4eda
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/066a2cab0d331ac0605ded494bad5ce5c37f41be
Normal file
BIN
test/de_fuzz/corpus/066a2cab0d331ac0605ded494bad5ce5c37f41be
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/06705f7adc42a06bfa772929ad0cf82b511cc653
Normal file
BIN
test/de_fuzz/corpus/06705f7adc42a06bfa772929ad0cf82b511cc653
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0676b9e95ffea4d9be47eb4c08b53f7e8232ec61
Normal file
BIN
test/de_fuzz/corpus/0676b9e95ffea4d9be47eb4c08b53f7e8232ec61
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/06a24e5d1f0e7df307ebbb0b4008608ad03391b3
Normal file
BIN
test/de_fuzz/corpus/06a24e5d1f0e7df307ebbb0b4008608ad03391b3
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/06b7a2445e03005d105a6b760d80ca7a0ac495ee
Normal file
BIN
test/de_fuzz/corpus/06b7a2445e03005d105a6b760d80ca7a0ac495ee
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0708c60582050542ce192567ee739c8dbe486f13
Normal file
BIN
test/de_fuzz/corpus/0708c60582050542ce192567ee739c8dbe486f13
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/071134750dc8021e4baf15058fe2f9992a7ce222
Normal file
BIN
test/de_fuzz/corpus/071134750dc8021e4baf15058fe2f9992a7ce222
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
Z(((((((a+)+)+)+)+<2B><><EFBFBD><EFBFBD>)+|Y(((((((a+)+)+)+)+)++)+)|X(((((((a+)+)+)+)+)+)+)+|W((<28><>(((a+)+)+)+)+)+)+)+;|V((()++)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc
|
BIN
test/de_fuzz/corpus/073f4fc7f030f84f79bdc127e67339ae62070436
Normal file
BIN
test/de_fuzz/corpus/073f4fc7f030f84f79bdc127e67339ae62070436
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/075ed1f68bdaff705e9ecfd624a98c583ac5e04f
Normal file
BIN
test/de_fuzz/corpus/075ed1f68bdaff705e9ecfd624a98c583ac5e04f
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/076187a0bc2ed6e90aab84375d0deca711b61a91
Normal file
BIN
test/de_fuzz/corpus/076187a0bc2ed6e90aab84375d0deca711b61a91
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/077ce191a9e857d7a3a3b4e53fbb50a08000ecf0
Normal file
BIN
test/de_fuzz/corpus/077ce191a9e857d7a3a3b4e53fbb50a08000ecf0
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/07b2a1c92c817aae0a115bb15b33274cbaac308a
Normal file
BIN
test/de_fuzz/corpus/07b2a1c92c817aae0a115bb15b33274cbaac308a
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/07c70aa5c262fdd076e5ec1e59e63d9f8cedaea8
Normal file
BIN
test/de_fuzz/corpus/07c70aa5c262fdd076e5ec1e59e63d9f8cedaea8
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/07e5d0b2ec1cbc9040495889dde36395e3ce8a85
Normal file
BIN
test/de_fuzz/corpus/07e5d0b2ec1cbc9040495889dde36395e3ce8a85
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/07f38543e3f8cb6ab88d497b0264801e4a5ff751
Normal file
BIN
test/de_fuzz/corpus/07f38543e3f8cb6ab88d497b0264801e4a5ff751
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/08002fe03259270af10b36c8ddeacff162cf16b8
Normal file
BIN
test/de_fuzz/corpus/08002fe03259270af10b36c8ddeacff162cf16b8
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/081858d1769f43413a1f09fedf1a0cf1c3f72b22
Normal file
BIN
test/de_fuzz/corpus/081858d1769f43413a1f09fedf1a0cf1c3f72b22
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/082c2d2030263ff2b818ea7f0aaf98f7470283f6
Normal file
BIN
test/de_fuzz/corpus/082c2d2030263ff2b818ea7f0aaf98f7470283f6
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/08549ccfa0aa75f14ca42c08197ca1e87e660823
Normal file
BIN
test/de_fuzz/corpus/08549ccfa0aa75f14ca42c08197ca1e87e660823
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0868c65e2e25e7360ebcd1719625fb0a361abfaa
Normal file
BIN
test/de_fuzz/corpus/0868c65e2e25e7360ebcd1719625fb0a361abfaa
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/08691288da54da0cf22ea7d640ced09164743765
Normal file
BIN
test/de_fuzz/corpus/08691288da54da0cf22ea7d640ced09164743765
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/087425b8873de5a19c59ed5467aa5de9ba7de6ca
Normal file
BIN
test/de_fuzz/corpus/087425b8873de5a19c59ed5467aa5de9ba7de6ca
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/088d22d0e6de8af18ff45d377f04ff3658e0fc80
Normal file
BIN
test/de_fuzz/corpus/088d22d0e6de8af18ff45d377f04ff3658e0fc80
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/08940162707893743187e4ab470ed1008612797a
Normal file
BIN
test/de_fuzz/corpus/08940162707893743187e4ab470ed1008612797a
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/09180d4e440031e219479ca15da050462c00a908
Normal file
BIN
test/de_fuzz/corpus/09180d4e440031e219479ca15da050462c00a908
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/093d19b2925541ea312fa2059f264124a35944b7
Normal file
BIN
test/de_fuzz/corpus/093d19b2925541ea312fa2059f264124a35944b7
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/094d59eb83cc607c8c529c495210f83aa2887fbd
Normal file
BIN
test/de_fuzz/corpus/094d59eb83cc607c8c529c495210f83aa2887fbd
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0952b1e6ba0a9beaee02b92efa1990eb8fd855ed
Normal file
BIN
test/de_fuzz/corpus/0952b1e6ba0a9beaee02b92efa1990eb8fd855ed
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/09692b8dcf066440274ea5d939aec16eccb10de8
Normal file
BIN
test/de_fuzz/corpus/09692b8dcf066440274ea5d939aec16eccb10de8
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/098478e68695340652d4d2e9ed11fbbedad69e63
Normal file
BIN
test/de_fuzz/corpus/098478e68695340652d4d2e9ed11fbbedad69e63
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0985d13f526884e37b5074e8da192ba63f3ec18c
Normal file
BIN
test/de_fuzz/corpus/0985d13f526884e37b5074e8da192ba63f3ec18c
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/098b4f661d78550dbe871aa6d2e5474910365a92
Normal file
BIN
test/de_fuzz/corpus/098b4f661d78550dbe871aa6d2e5474910365a92
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0996713c1213c4a3e8a8581bf0fc5cb43f0d9c84
Normal file
BIN
test/de_fuzz/corpus/0996713c1213c4a3e8a8581bf0fc5cb43f0d9c84
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/09c39db7ced2e00411bd9bb69e27833c6aa2d47b
Normal file
BIN
test/de_fuzz/corpus/09c39db7ced2e00411bd9bb69e27833c6aa2d47b
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/09d1332a1130a84c97303b9c0f8f5c1d22ccd335
Normal file
BIN
test/de_fuzz/corpus/09d1332a1130a84c97303b9c0f8f5c1d22ccd335
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
8^\l*(?:((.<2E>*?)\W*(?1)\<5C>*\2[abc]| |((.)\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ<1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\pd\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ<1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\pd<1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\pdquick brown )ox
|
BIN
test/de_fuzz/corpus/09f341b84c20552c905d21c138b184697fab337d
Normal file
BIN
test/de_fuzz/corpus/09f341b84c20552c905d21c138b184697fab337d
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0a04d9267fb8188a0920d5941c62dfcaa392b697
Normal file
BIN
test/de_fuzz/corpus/0a04d9267fb8188a0920d5941c62dfcaa392b697
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0a232c490b266ab32e15a6092c70ebc3dfda6ecc
Normal file
BIN
test/de_fuzz/corpus/0a232c490b266ab32e15a6092c70ebc3dfda6ecc
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0a34e1a8ea9da61a014714961b9818082c4f84be
Normal file
BIN
test/de_fuzz/corpus/0a34e1a8ea9da61a014714961b9818082c4f84be
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0a6ddeb7f27dec9f32913eed61df082aa928c8e7
Normal file
BIN
test/de_fuzz/corpus/0a6ddeb7f27dec9f32913eed61df082aa928c8e7
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0a6f08a511f7fbfe66ca6cf7f98bb5af2f7ef5b8
Normal file
BIN
test/de_fuzz/corpus/0a6f08a511f7fbfe66ca6cf7f98bb5af2f7ef5b8
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0a87a305f83262f88a9e826ca5aa22780faf0f6e
Normal file
BIN
test/de_fuzz/corpus/0a87a305f83262f88a9e826ca5aa22780faf0f6e
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0aae4febecef099e54707b7f8d59b50e70b1cd7c
Normal file
BIN
test/de_fuzz/corpus/0aae4febecef099e54707b7f8d59b50e70b1cd7c
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0ad25b2429db480add874a5d66e4934a53a4f5d8
Normal file
BIN
test/de_fuzz/corpus/0ad25b2429db480add874a5d66e4934a53a4f5d8
Normal file
Binary file not shown.
73
test/de_fuzz/corpus/0b7e65a2f97ea6135e0c46e75494a6dc0302192a
Normal file
73
test/de_fuzz/corpus/0b7e65a2f97ea6135e0c46e75494a6dc0302192a
Normal file
@ -0,0 +1,73 @@
|
||||
'<27> (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* # optional leading comment
|
||||
(?: (?:
|
||||
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
||||
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
||||
|
|
||||
" (?: # opening quote...
|
||||
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
||||
| # or
|
||||
\\ [^\x80-\xff] # Escaped something (something != CR)
|
||||
)* " # closing quote
|
||||
) # initial word
|
||||
(?: (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* \. (?: [\040\t] | \(\x80-\xff]+ # some number of atom characters...
|
||||
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
||||
|
|
||||
" (?: # opening quote...
|
||||
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
||||
| # or
|
||||
\\ [^\x80-\xff] # Escaped something (something != CR)
|
||||
)* " # closing quote
|
||||
) # initial word
|
||||
(?: (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* \. (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* (?:
|
||||
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
||||
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
||||
|
|
||||
" (?: # opening quote...
|
||||
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
||||
| # or
|
||||
\\ [^\x80-\xff] # Escaped something (something != CR)
|
||||
)* " # closing quote
|
||||
) )* # further okay, if led by a period
|
||||
(?: (\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* @ (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* (?:
|
||||
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
||||
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
||||
| \[ # [
|
||||
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
||||
\] # ]
|
||||
) # initial subdomain
|
||||
(?: #
|
||||
(?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* \. # if led by a period...
|
||||
(?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* (?:
|
||||
[^(\04<30>)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
||||
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
||||
| \[ # [
|
||||
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
||||
\] # ]
|
||||
) # ...further okay
|
||||
)*
|
||||
# address spec
|
||||
(?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )*
|
||||
\) )* > # trailing >
|
||||
# name and address
|
||||
) (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* # optional trailing comment
|
||||
|
||||
<user@dom.ain>
|
BIN
test/de_fuzz/corpus/0baba80b8fa0e2cad243b9d2991c91a0b21d391d
Normal file
BIN
test/de_fuzz/corpus/0baba80b8fa0e2cad243b9d2991c91a0b21d391d
Normal file
Binary file not shown.
BIN
test/de_fuzz/corpus/0bb4fd18738ae9cb066d360c1c38dc24820f5381
Normal file
BIN
test/de_fuzz/corpus/0bb4fd18738ae9cb066d360c1c38dc24820f5381
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user