diff options
author | Rickard Green <[email protected]> | 2017-04-11 15:05:51 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-04-11 15:05:51 +0200 |
commit | 92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9 (patch) | |
tree | 133119634987a6eeede055d644fe2f999ea3d318 /lib/stdlib/test/re_SUITE.erl | |
parent | b66834310f1d3f30a7b4d5c02753053d3f9d7ef8 (diff) | |
parent | 6520f78d4b878ff66adcf8d25de331d8ad06dd1d (diff) | |
download | otp-92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9.tar.gz otp-92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9.tar.bz2 otp-92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9.zip |
Merge branch 'rickard/pcre-8.40'
OTP-14331
* rickard/pcre-8.40:
Update documentation
Update README.pcre_update.md
Stack guard for PCRE
Adjust for incompatibility between PCRE 8.40 and perl 5.22.1
Generate re replacement and split tests with perl vsn 5.22.1
Fix re_SUITE:pcre_compile_workspace_overflow/1
Skip line with lockout of modifiers in PCRE tests
Update tests for PCRE version 8.40
Update PCRE to version 8.40
Conflicts:
erts/emulator/beam/beam_debug.c
Diffstat (limited to 'lib/stdlib/test/re_SUITE.erl')
-rw-r--r-- | lib/stdlib/test/re_SUITE.erl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/stdlib/test/re_SUITE.erl b/lib/stdlib/test/re_SUITE.erl index 52d3a9f797..a76ded5f60 100644 --- a/lib/stdlib/test/re_SUITE.erl +++ b/lib/stdlib/test/re_SUITE.erl @@ -612,9 +612,15 @@ pcre_cve_2008_2371(Config) when is_list(Config) -> %% http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch pcre_compile_workspace_overflow(Config) when is_list(Config) -> N = 819, - {error,{"internal error: overran compiling workspace",799}} = - re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]), - ok. + ExpStr = "Got expected error: ", + case re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]) of + {error, {"regular expression is too complicated" = Str,799}} -> + {comment, ExpStr ++ Str}; + {error, {"parentheses are too deeply nested (stack check)" = Str, _No}} -> + {comment, ExpStr ++ Str}; + Other -> + ?t:fail({unexpected, Other}) + end. %% Make sure matches that really loop infinitely actually fail. re_infinite_loop(Config) when is_list(Config) -> |