Age | Commit message (Collapse) | Author |
|
|
|
* hb/stdlib/dets_chunk_match/OTP-8903:
Fix a bug concerning bchunk(), match() and select()
Conflicts:
lib/stdlib/test/dets_SUITE.erl
|
|
If a Dets table was closed after calling bchunk/2, match/1,3,
match_object/1,3, or select/1,3 and then opened again, a subsequent
call using the returned continuation would normally return a reply.
This bug has fixed; now the call fails with reason 'badarg'.
|
|
* hb/stdlib/dets_stream_op/OTP-8899:
Fix a bug that could cause 'bad_object' errors
Conflicts:
lib/stdlib/test/dets_SUITE.erl
|
|
When several clients accessed a Dets table simultaneously,
modifications of the Dets server's internal state were sometimes
thrown away. The symptoms are diverse: error with reason 'bad_object';
inserted objects not returned by lookup(); et cetera.
|
|
* hb/stdlib/dets_fixed_dirty/OTP-8898:
Fix a bug concerning truncated Dets files
Conflicts:
lib/stdlib/src/dets.erl
lib/stdlib/test/dets_SUITE.erl
|
|
When several clients accessed a Dets table simultaneously, inserted or
updated objects were sometimes lost due to the Dets file being
truncated.
|
|
* hb/stdlib/dets_insert_new/OTP-8856:
Fix a bug in dets:insert_new()
|
|
When several clients accessed a Dets table simultaneously, one of them
calling dets:insert_new/2, the Dets server could crash. Alternatively,
under the same conditions, 'ok' was sometimes returned instead of 'true'.
|
|
|
|
|
|
In embedded mode, all on_load handlers will be called after
loading all modules but before starting any servers. Therefore,
if an on_load handler calls any function in the code module that
calls the code server (such as code:priv_dir/1), there will be a
deadlock because the code server has not yet been started.
Fix this problem by invoking the on_load handlers after
having started most servers in the kernel application.
|
|
When checking the client certificate verify message the server used
the wrong algorithm identifier to determine the signing algorithm,
causing a function clause error in the public_key application when the
key-exchange algorithm and the public key algorithm of the client
certificate happen to differ.
|
|
|
|
exception, if the HTTP server closed the socket without returning a complete
message. I.e. header and a body containing a stringified IOR.
|
|
* ia/ssl/DH-ANON/OTP-8870:
Anonymous cipher suites
|
|
* bjorn/compiler/receive-export/OTP-8888:
beam_block: Do optimizations in the safe order
|
|
|
|
* lukas/common_test/ct_get_status_docs/OTP-8895:
Update get_status doc to include no_tests_running
|
|
* lukas/common_test/ct_slave_doc/OTP-8885:
Remove generated ct_slave.xml
|
|
|
|
|
|
* ks/supervisor-export-types:
supervisor: Type and spec related changes
|
|
* maint-r14:
Add test suite for cosFileTransfer
|
|
* maint-r13:
Add test suite for cosFileTransfer
|
|
|
|
- Export two more types so that they can be used in other modules
- Correct some types and specs
- Add spec for behaviour_info/1
|
|
* ms/fix-zero-byte-allocation:
registry: fix zero byte allocation
OTP-8893
|
|
* ms/security-fixes:
erlc: remove unused variable
typer: prevent buffer overflows
run_test: prevent buffer overflow
heart: prevent buffer overflow
escript: prevent buffer overflows
erlexec: prevent buffer overflows
erlc: prevent buffer overflows
dialyzer: prevent buffer overflows
OTP-8892
|
|
* sv/ei-number-parsing:
teach ei_x_format to handle unary - and +
OTP-8891
|
|
* ms/fix-erl_call:
erl_call: remove get_hostent
OTP-8890
|
|
Moving of allocation instructions upwards in the instruction
stream (in order to enable further optimizations) in beam_block,
is implemented with the assumption that if a register {x,X}
contains a valid term, then all other x register with lower
numbers than X also contain valid terms. That assumption is
true after code generation.
The beam_utils:live_opt/1 optimization, however, may invalidate
that assumption. For instance, if a receive statement exports a
variable that is used, but the return value of the receive statement
is not used, then {x,1} but not {x,0} contains a valid term at the
end of the receive statement. If the receive statement is
followed by
{bif,self,{f,0},[],{x,0}}.
{test_heap,NumberOfWords,2}.
moving the allocation upwards will produce
{test_heap,NumberOfWords,2}.
{bif,self,{f,0},[],{x,0}}.
which will cause the beam_validator pass to scream loudly that
{x,0} is not live at the test_heap instruction.
Fix the problem by doing the optimizations in reverse order.
Reported-by: Jim Engquist
|
|
|
|
* maint-r13:
Prepare release
Add additional test to cover this correction
correct the encoding of ExtensionAdditionGroup
temp
Add support for ExtensionAdditionGroup notation in nested types as well
Add test suites for (most) CORBA applications
Prepare release
An empty element declared as simpleContent was not properly validated.
Conflicts:
lib/asn1/doc/src/notes.xml
lib/asn1/test/asn1_SUITE.erl.src
lib/asn1/test/asn1_SUITE_data/extensionAdditionGroup.erl
lib/asn1/test/test_undecoded_rest.erl
lib/asn1/vsn.mk
lib/xmerl/doc/src/notes.xml
lib/xmerl/vsn.mk
|
|
Silence the Dialyzer warning introduced in commit
7b283aa9507b45f2cd403b061ad92ab059fb71b5.
|
|
For testing purposes ssl now also support some anonymous cipher suites
when explicitly configured to do so.
Also moved session cache tests to its own suite, so that timeout
of end_per_testcase when the mnesia is used as session cache will
not affect other test cases.
|
|
* bjorn/compiler-bin-generators/OTP-8864:
core_lint: Enforce that tail segments only occur at the end
Don't generate multiple tail segments in binary matching
Factor out some of the code for binary generators
Add tests for tail segments in binary generators
|
|
|
|
* bjorn/compiler/fix-zero-segment-bug/OTP-8865:
Fix compiler crash when constructing zero-size binary segments
|
|
* bjorn/filelib-document-charset/OTP-8879:
filelib: Document the character set syntax in wildcards
|
|
Teach the format string parser used for ei_x_format() and
ei_x_format_wo_ver() about unary negative and positive operators on
numbers. Previously, passing a negative numeric constant or a positive
numeric constant with an explicit leading plus sign within the format
string would cause these functions to fail.
Augment the format_wo_ver unit test in the ei_format suite with a
regression test for these cases.
An easy way to reproduce the problem is to use erl_call:
erl_call -s foo@bar -a 'erlang list_to_integer [-1]'
Without this change, erl_call fails with a -1 exit status. With this
change, it properly prints "-1".
|
|
This was caused by a race condition between two processes.
|
|
Pasto in code results in 0 bytes (instead of length bytes) being allocated
when the length of the key exceeds the static buffer.
|
|
get_hostent does not properly handle IPv4 addresses on little endian
platforms and fails with hostnames beginning with a number. Remove
get_hostent and use ei_gethostbyname directly since gethostbyname supports
IPv4 addresses.
Reported-By: Julien Barbot
|
|
* ks/fix-dialyzer_plt-spec:
Dialyzer: Fix erroneous type and use the same definition in two places
|
|
* ks/ets-update-counter:
Fix type of ets:update_counter/3 to correspond with the documentation
|
|
* ks/syntax_tools-types:
syntax_tools: Add types to record definitions
|
|
* ks/export-types:
Export opaque types so as to be used by other modules
|
|
State more clearly that ETS functions will throw badarg if calling
process lacks access right. And that driver stop callback should free
memory allocted by start.
|
|
In the following program, erl_lint crashed with an erl_lint internal error.
With this patch it does not, but prints "bad export_type declaration" errors
instead.
-module(baz).
-export([test/0]).
-export_type(t/0).
-export_type([3.14]).
-type t() :: any().
test() -> 42.
|