Commit Graph

518 Commits

Author SHA1 Message Date
31646aefa7 Always use __cdecl as the calling convention for the Embarcadero C++ clang-based compilers 2020-04-19 15:29:03 -04:00
cc09733d03 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 17:42:38 -04:00
afc4229234 Fix recursive expressions where the recursion appears more than once.
Fixes https://github.com/boostorg/regex/issues/87.
Also fix some more msvc warnings.
2020-01-23 19:24:33 +00:00
bc160a58f0 Merge branch 'develop' into git_issue_80
Fixed Conflicts:
	include/boost/regex/v4/basic_regex_creator.hpp
	include/boost/regex/v4/basic_regex_parser.hpp
2020-01-21 12:57:09 +00:00
f64c22870f Fix exception specification and msvc warning push/pop. 2020-01-21 10:14:37 +00:00
2cd947f7c4 Suppress msvc warnings.
Fixes: https://github.com/boostorg/regex/issues/80
2020-01-20 19:51:46 +00:00
deb9104ceb Fix gcc warning. 2020-01-19 17:19:54 +00:00
4bb4d392e4 Remove limit on the number of backrefs possible.
Changes named sub-expressions to use different hashing scheme: high order bit is now always set to clashes between hashes and indexes don't happen until 2^30 or 2^62 sub-expressions in 32 and 64 bit code respectively.
Changes bitmask of seen sub-expressions to use dynamic storage for sub-expression indexes above 64.
Adds tests for the above.
Fixes https://github.com/boostorg/regex/issues/75.
2020-01-19 11:28:36 +00:00
082437d4fd Merge branch 'develop' into staticptrfix 2020-01-07 19:00:38 +00:00
a3814a31e9 Merge pull request #92 from rdoeffinger/spellingfix
Minor spelling fix.
2020-01-07 18:54:30 +00:00
6d00984aa9 Merge pull request #79 from stac47/fix_deprecated_copy
Fix gcc -Wdeprecated-copy
2020-01-07 18:54:04 +00:00
3168641320 Avoid generating pointers in writeable data section.
They increase memory consumption and make exploits
easier and are completely unnecessary.
Avoid them by either avoiding the pointer indirection
completely by using char arrays for strings instead
of char pointers, convert "static" pointer variables
to simple local variables, or mark the array of
pointers as const instead of just the things pointed to.
2019-11-08 11:18:43 +01:00
0baf08108f Minor spelling fix. 2019-11-05 22:25:11 +01:00
9db6d59861 Update hash.hpp include path 2019-05-11 19:07:33 +02:00
ac03c4fecc Fix gcc -Wdeprecated-copy 2019-03-01 08:36:15 +00:00
a6586678a5 Fix -Wextra-semi clang warnings
Remove superfluous semicola after constructor bodies.
2019-02-25 13:29:16 +01:00
3c6cf87718 Disable external template instances on cygwin - they lead to duplicate symbols for some reason.
See https://github.com/boostorg/regex/issues/64.
2018-11-11 17:12:56 +00:00
8a31a996b8 Merge pull request #63 from jeking3/warnings
resolve some warnings
2018-08-25 18:11:20 +01:00
40ecdc3f8b Disable template instantiation for Clang: it breaks with -fvisibility=hidden 2018-08-25 18:05:18 +01:00
f5b7d3a4f9 Correct apple clang version check. 2018-07-23 19:10:47 +01:00
5177518fe3 Fix missing \n at end of file,
Fix some clang warnings.
Add gcc 7&8 to CI tests.
2018-07-22 18:25:35 +01:00
7b2ccc0095 Tentative fix for msvc warnings.
See https://github.com/boostorg/regex/issues/61.
Adds warning test case.
2018-07-22 17:16:21 +01:00
2517588955 Fix \R when no_escapes_in_list flag is set.
Fixes: https://github.com/boostorg/regex/issues/57
2018-07-22 11:26:33 +01:00
231dbc3ebf Correct behaviour of \b when matching null-strings.
See https://github.com/boostorg/regex/issues/40
2018-07-21 15:19:41 +01:00
39f1cc0238 resolve some warnings 2018-07-20 18:29:11 +00:00
867cc5f0fc Stop using BOOST_WORKAROUND in a header which may be included in C code. 2018-07-18 18:57:07 +01:00
ac49efa23f Apply changes from https://github.com/boostorg/regex/pull/16 2018-07-18 18:30:14 +01:00
80a2a12b7a Fixed typo in exception text 2018-02-11 20:35:50 +01:00
fa8b79bca9 Regex.Defuzz, fix for https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4615 2018-01-04 18:51:21 +00:00
b13fb44ac5 Regex.Defuzzing: Fix for https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4659&q=jz.maddock&colspec=ID%20Type%20Component%20Status%20Proj%20Reported%20Owner%20Summary 2018-01-03 18:32:45 +00:00
3043906da2 Regex.ICU: use BOOST_REGEX_UCHAR_IS_WCHAR_T in a few other places, and improve concept checks. 2017-12-24 18:39:54 +00:00
799b09dc26 Define BOOST_REGEX_UCHAR_IS_WCHAR_T, use it to disable overloads 2017-12-24 01:49:32 +02:00
fe9d2a2d66 Merge pull request #54 from DanielaE/fix/no-iterator-inheritance
Inheritance from std::iterator is deprecated in c++17. Therefore repl…
2017-12-23 19:35:28 +00:00
d5bf5966e2 Merge pull request #53 from DanielaE/fix/replace-deprecated-allocator-members
replace members of std::allocate which are deprecated in c++17 by the…
2017-12-23 19:11:18 +00:00
cc5a4e85ae Inheriting std::iterator is deprecated in c++17.
Therefore replace the inheritance by lifting std::iterator's members into the derived class. Fortunately, this is already done in Boost.Regex so that dropping the inheritance is a no-brainer.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-12-22 15:59:49 +01:00
e6ce5523c6 replace members of std::allocate which are deprecated in c++17 by their cousins from std::allocator_traits.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-12-21 17:48:23 +01:00
a3f1cf9dfc typo in error message 'openening' should be 'opening' 2017-12-12 11:07:59 +00:00
1480e33dc6 Regex: Fix recursive algorithm builds. 2017-11-09 18:13:16 +00:00
6246f5ec51 Regex: Set a limit on how many recursions we allow. 2017-11-09 11:23:54 +00:00
0c938cd9ff Regex: Apply fix for clang on Windows, see: https://github.com/boostorg/regex/issues/44 2017-10-26 18:05:36 +01:00
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
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
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
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
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
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
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
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
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
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