Age | Commit message (Collapse) | Author |
|
* ms/re_infinite_loop:
Add testcase for infinite loop problem caused by reset of match_call_count
re: Fix non-termination for a certain regular expression
OTP-8589 Pcre may hang on a special regexp
A bug in re that could cause certain regular expression matches never to
terminate is corrected. (Thanks to Michael Santos and Gordon Guthrie.)
|
|
|
|
|
|
|
|
|
|
* bg/compiler-fmove-opt:
beam_type: Improve coalescing of fmove/2 and move/2 instructions
|
|
|
|
The following code never terminates:
fail() ->
Str = "http:/www.flickr.com/slideShow/index.gne?group_id=&user_id=69845378@N0",
EMail_regex = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+"
++ "(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"
++ "@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+"
++ "(?:[a-zA-Z]{2}|com|org|net|gov|mil"
++ "|biz|info|mobi|name|aero|jobs|museum)",
io:format("about to run...~n"),
Ret = re:run(Str, EMail_regex),
io:format("Ret is ~p~n", [Ret]).
Fix it by having pcre_exec remember match_call_count between restarts.
Reported-by: Gordon Guthrie
Acked-by: Patrik Nyblom
|
|
* bg/deprecations:
test suites: Remove incidental use of deprecated concat_binary/1
Postpone removal of concat_binary/1
Remove deprecated lists:flat_length/1
OTP-8584 bg/deprecations
|
|
|
|
The function erl_scan:reserved_word/1 no longer returns true when given the
word spec. This bug was introduced in STDLIB-1.15.3 (R12B-3).
|
|
|
|
The following instruction sequence:
fmove {fr,Fr} {x,TempXreg}
move {x,TempXreg} {y,Dest}
is rewritten to:
fmove {fr,Fr} {y,Dest}
(Provided that {x,TempXreg} is killed by the instructions following
the sequence.)
Generalize the optimization to also handle:
fmove {fr,Fr} {x,TempXreg}
move {x,TempXreg} {_,Dest}
That is, the destination register can be either an X or Y register.
|
|
|
|
Temporary set the inet options on listen socket before doing accept
so that the correct options will be inherited by the accept socket.
Reset the options afterwards so that repeated use of listen socket
get user set values.
|
|
is not false.
|
|
|
|
|
|
|
|
|
|
* ms/pcre-compile-workspace-overrun:
re_SUITE: Add pcre_compile_workspace_overflow/1
MacOS X: Boost default stack size
Fix check for compile workspace overflow
OTP-8539 ms/pcre-compile-workspace-overrun
|
|
|
|
|
|
|
|
|
|
|
|
* ks/stdlib:
erl_parse.yrl: Add missing operator in type declaration
stdlib: Add types and specs
stdlib: Use fun object instead of {M,F} tuple
ets: Cleanup as suggested by tidier
OTP-8576 ks/stdlib
|
|
* jb/inet6-dist:
Support IPv6 addresses in long host names
Fix implementation of IPv6 TCP distribution protocol
Fix compilation of epmd with IPv6 enabled
OTP-8575 jb/inet6-dist
|
|
|
|
The default stack size on MacOS X for the SMP emulator is too small
to support all uses of pcre. For example, the following expression
N = 819, re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]).
will cause a stack overflow. By bisection of different values
for the +sss option, I found that 166 is the smallest value that
avoids the crash. Round that up to 256 to give a nice, round power
of 2 and a resonable safety margin. Use that value as a default stack
size on MacOS X only.
|
|
Patch from:
http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch
Test case:
N = 819, re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]).
Compiling large regular expressions could overflow the workspace
buffer. Modify the test to check for a value smaller than the buffer
size.
|
|
|
|
|
|
|
|
|
|
|
|
* bg/fconv:
erts: Fix loading of modules with invalid floating point arithmetic
|
|
crypto:des_cbc_decrypt
|
|
When distributing over IPv4, node@<IPv4-address>
(e.g. [email protected]) works correctly.
Permit node@<IPv6-address> (e.g. node@::1) when
distributing over IPv6.
|
|
|
|
New ssl now properly handles ssl renegotiation, and initiates a
renegotiation if ssl/ltls-sequence numbers comes close to the max value.
|
|
|
|
|
|
|
|
|
|
New ssl now properly handles ssl renegotiation, and initiates a
renegotiation if ssl/ltls-sequence numbers comes close to the max value.
|
|
|
|
|
|
|
|
* ta/nif-documentation:
Fix typos in erl_nif.xml
Build erl_nif manpage
OTP-8558 ta/nif-documentation
|