641 Commits

Author SHA1 Message Date
rummt a3f1cf9dfc typo in error message 'openening' should be 'opening' 2017-12-12 11:07:59 +00:00
jzmaddock 1480e33dc6 Regex: Fix recursive algorithm builds. 2017-11-09 18:13:16 +00:00
jzmaddock 6246f5ec51 Regex: Set a limit on how many recursions we allow. 2017-11-09 11:23:54 +00:00
jzmaddock 0c938cd9ff Regex: Apply fix for clang on Windows, see: https://github.com/boostorg/regex/issues/44 2017-10-26 18:05:36 +01:00
jzmaddock 3693a5de10 Regex: previous fix could go into infinite loop when a comment was followed by a "(", fix that. 2017-10-26 13:05:33 +01:00
jzmaddock f251a98662 Regex: When matching an (*ACCEPT) and skipping forwards, we have to be careful not to stop skipping prematurely if we're inside a lookahead.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3493#c2
2017-10-24 19:06:53 +01:00
jzmaddock 50453e319a Regex: Repeating a repeat is not allowed, even if there is a comment block in between the two.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3479#c2
2017-10-24 17:56:02 +01:00
jzmaddock 544e20a339 Regex: Backup and restore internal match_results when saving recursion backtracking info, as well as the state required to restore the recursion stack. Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3478#c1 2017-10-23 18:49:08 +01:00
jzmaddock 7de023237f Regex: Add a hard limit on the number of nested parenthesis allowed.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3471#c2.
2017-10-19 18:23:43 +01:00
jzmaddock f343cab680 Regex: Fix handling of repeats when mod_x is in effect.
See https://oss-fuzz.com/v2/testcase-detail/6420486177161216?noredirect=1
2017-10-08 11:52:54 +01:00
jzmaddock f592693c9b Regex: Fix potential negation of INT_MIN,
see https://oss-fuzz.com/v2/testcase-detail/6646578892767232?noredirect=1.
2017-10-07 17:23:59 +01:00
jzmaddock 881a157243 Regex: Fix integer overflow in expression parsing.
See: https://oss-fuzz.com/v2/testcase-detail/6189682419302400?noredirect=1
2017-10-07 09:47:19 +01:00
jzmaddock 289ce86488 Regex: move boost headers to top of list to work around clang issue which requires workarounds present in config.hpp. 2017-09-21 17:15:51 +01:00
jzmaddock a32e0cc9d3 Fix pattern escaping in regex used for \R so it works when the x-modifier is in effect.
Fixes: https://svn.boost.org/trac10/ticket/12960
2017-08-03 18:04:41 +01:00
jzmaddock 5c543a8e2b Copy named sub-expression info when adapting ICU via iterators.
Fixes: https://svn.boost.org/trac10/ticket/13126.
2017-08-01 19:43:44 +01:00
jzmaddock bc9b25b5d3 Fix potential overflow in max_state_count calculation.
Fixes: https://svn.boost.org/trac10/ticket/13036.
2017-07-31 19:18:10 +01:00
jzmaddock d97bcfb5dd Fix integer types and signedness:
Fixes https://svn.boost.org/trac10/ticket/13034
2017-07-31 18:51:25 +01:00
Andrey Semashev f89c75f7b0 Silence MSVC 14.1 warnings of narrowing conversion
In debug mode the compiler is not able to see that the int constant can fit in the character type without loss.
2017-03-25 20:34:56 +03:00
John Maddock 22aedd996c Fix iterator comparisons so legacy compilers (sun and VC6) can handle them 2017-03-01 11:33:28 +00:00
jzmaddock 1acbd42eb8 de-fuzz: fix 2 more gcc warnings 2017-02-24 11:48:27 +00:00
jzmaddock 93926479e3 de-fuzz: suppress a couple of warnings introduced by de-fuzzing fixes. 2017-02-22 18:46:34 +00:00
jzmaddock c8044ffca0 de-fuzz: more recursive calls that require proper stack unwinding to prevent memory leaks if matching throws. 2017-02-23 09:43:22 +00:00
jzmaddock 982f3bbe45 de-fuzz: need to fail when a named recursive subexpression refers to an invalid name. 2017-02-23 09:30:49 +00:00
jzmaddock 2e7e73aecf de-fuzz: Prevent excessive left shifts 2017-02-22 12:52:53 +00:00
jzmaddock 3d2dc325de de-fuzz: Remove debugging code. 2017-02-22 12:45:48 +00:00
jzmaddock 85cd85013d de-fuzz: Memory leak fix: Need to unwind stack when doing recursive call on non-recursive algorithm 2017-02-22 12:43:28 +00:00
jzmaddock b65bf1b459 de-fuzz: make sure recursion stack always has a valid start location for the recursion. 2017-02-21 19:38:36 +00:00
jzmaddock b0a83dc8d9 de-fuzz: fix overflow in shift 2017-02-21 11:04:26 +00:00
jzmaddock ac3838b622 de-fuzz: fix undefined behaviour in negating enum type 2017-02-21 10:53:53 +00:00
jzmaddock f301f3a412 de-fuzz: previous fix broke some code, re-fix it. 2017-02-21 12:43:08 +00:00
jzmaddock 94cd9e582b Simplify adding items to lists, and fix Jamfile build failure. 2017-02-20 13:44:24 +00:00
jzmaddock ae9f38e178 de-fuzz: Failed Pearl verbs should fail better and louder. 2017-02-18 13:04:34 +00:00
jzmaddock d70b7bcefe de-fuzz: fix infinite recursion when analysing tail-recursive expressions. 2017-02-16 19:24:22 +00:00
jzmaddock 7f89a8f3b8 de-fuzz: add missing typename qualifiers to previous fix. 2017-02-15 19:48:56 +00:00
jzmaddock edd94320c7 de-fuzz: prevent infinite recursion in recursive expressions (case 14). 2017-02-15 19:44:41 +00:00
jzmaddock b05fafe1c5 de-fuzz: improve set creation so as not to allow duplicate characters. 2017-02-14 19:41:35 +00:00
jzmaddock febd44ddd6 de-fuzz, first fix for issue 14.
Make zeros in character set a single character long only.
2017-02-14 18:13:32 +00:00
jzmaddock 2cb49b97da de-fuzz: Fix case 0 again. 2017-02-14 17:38:47 +00:00
jzmaddock 8337584087 De-Fuzz: Fixes for issues 0 and 3 from #12818:
Prevent left shifting by more bits than there are in type unsigned, and
Check that alternative points to a valid state before accessing it: we may not have constructed that state yet in a fail situation.
2017-02-12 19:57:35 +00:00
jzmaddock e215c603ad Use the same calling convention for all msvc clones. 2017-02-09 18:24:21 +00:00
jzmaddock 4bfdae4a9f Change config so all msvc compatible compilers use the same algorithm.
This *might* make msvc builds binary compatible with Intel or Clang clients.
See https://svn.boost.org/trac/boost/ticket/12233.
2017-02-08 19:20:04 +00:00
Nikita Kniazev d92e940ade Fixed missing noreturn 2016-09-01 19:55:40 +03:00
jzmaddock 0f128c2a89 Fix missing variable name in concept checks. 2016-08-07 18:33:59 +01:00
John Maddock cc21bf9283 Fix Oracle C++ concept failures 2016-08-01 12:24:00 +00:00
jzmaddock a824b7d236 Fix copying of extra match data when using ICU.
See: https://svn.boost.org/trac/boost/ticket/12130
2016-06-12 13:09:12 +01:00
jzmaddock 7719dedbaf Fix buffer over-run error when parsing invalid regex.
See: https://svn.boost.org/trac/boost/ticket/12222.
2016-06-09 19:00:29 +01:00
jzmaddock 9059bfb5c6 Fix case-sensitivity change behaviour.
See https://svn.boost.org/trac/boost/ticket/11205.
Update docs to match.
2016-03-14 19:22:18 +00:00
jzmaddock 955d077d2b Allow types wider than int in \x{} expressions (for char32_t etc).
Fixes: https://svn.boost.org/trac/boost/ticket/11988.
2016-02-17 18:58:05 +00:00
Yucheng Low d8af53e222 restored missing header 2015-12-31 15:48:01 -08:00
Yucheng Low a0dfd81516 Lockfree mem_block_cache only active if std::atomic is available 2015-12-31 15:46:20 -08:00