Age | Commit message (Collapse) | Author |
|
* egil/fix-maps-tmp-heap:
erts: Test deep Maps updates
erts: Use halfword secure tmp heap
erts: Remove unused tmp heap in make_internal_hash
Conflicts:
erts/emulator/test/map_SUITE.erl
|
|
* egil/fix-maps-from_list-size:
erts: Strengthen Maps merge tests
erts: Try to test deep Maps collision
erts: Fix size bug in maps:from_list/1 BIF
|
|
* egil/maps/tests:
debugger: Strengthen Maps tests
compiler: Strengthen Maps tests
erts: Strengthen Maps tests
|
|
|
|
|
|
|
|
|
|
Ensure maps:size/1 is correct.
|
|
The wrong size was imprinted on maps with deep hash key collisions.
|
|
|
|
|
|
Do fast path without bit count for full internal nodes.
|
|
Bail out as soon as we find a diff between maps
if we are not interested in term order.
|
|
to handle the "start of list" case in one place and not seven.
Note that this commit reverts (47d6fd3ccf35) back to using WSTACK
and pushing raw pointers. We disable GC while yielding, so this should not
be a problem.
|
|
which does a deliberate deref of null pointer which is caught by
a SEGV signal handler to resume crash dumping.
|
|
|
|
|
|
|
|
* egil/fix-maps-new_map-instruction:
erts: Eliminate potential heap fragments after Map creation
|
|
* egil/fix-make_internal_hash-float:
erts: Add tests for internal_hash
erts: Fix make_internal_hash for 0.0 vs -0.0
|
|
* egil/maps/tests:
debugger: Strengthen Maps tests
compiler: Strengthen Maps tests
erts: Strengthen Maps tests
|
|
* maint:
observer: Fix crash in process_window
|
|
* dgud/observer/fix-atom-tostr/OTP-12634:
observer: Fix crash in process_window
|
|
|
|
|
|
Links can be to named processes, convert atom to list
|
|
The internal_hash should produce the same hash value for
identical terms, in this case 0.0 =:= -0.0.
|
|
|
|
Conflicts:
lib/stdlib/src/stdlib.appup.src
|
|
* anders/diameter/hardening/OTP-12628:
Remove potentially large error reason in call to diameter_lib:log/4
Limit FQDN in DiameterURI to 255 octets
Limit DiameterURI ports to 0-65535 digits on decode
Add service_opt() incoming_maxlen
Add guard to reject {spawn_opt, false} as transport/service_opt()
|
|
* sverk/large-list_to_integer-bug/OTP-12624:
erts: Fix bug in list_to_integer for very large strings
|
|
The function is intended to be traced on, to see abnormalities (mostly)
without producing excessive output. In the case of decode failure, the
error reason can be things like {badmatch, HugeBinary}.
Missed in commit 0058430.
|
|
* dgud/mnesia/try-catch:
mnesia: Replace catch with try-catch
|
|
Avoids building stacktraces where it is not needed and do
not mask errors, i.e. only catch the relevant classes in each try.
|
|
* dgud/wx/prefer-wxMSW-3/OTP-12632:
wx: Fix variable cursor constants
wx: On Mac keyboards use meta field as raw_ctrl
wx: Prefer wxWidgets-3.0. branch on windows
|
|
Fix cursor constants that changes with OS and wxWidgets releases.
|
|
On mac and wxWidgets-3.0 the crtlDown field in keyboard and
mouse events are set when command button is pressed.
The ctrl key on mac keyboard is in a field called raw_control as this
would be backward incompatible to add we reuse the metaDown field as
indicator when the ctrl keyboard button is pressed.
|
|
Since no bug fixes are done anymore on the 2.8 branch it is time
to switch the preferred version to 3.0 branch.
|
|
* dgud/observer/allocator-graphs/OTP-12631:
observer: Fix menu code (for mac)
observer: Add a new tab memory allocator charts
|
|
Have been broken since:
6fe02e14d observer: Add SASL log view for processes
|
|
Easier to the see memory usage and utilization as charts instead of
values that is updating during runtime.
Remove from system page and create a separate allocator tab.
|
|
|
|
|
|
|
|
* dgud/erts/fix-driver-thread-name:
Fix thread name from driver api
|
|
* egil/fix-make_internal_hash:
erts: Fix missing case in make_internal_hash
|
|
* hb/doc/refman_type_fix:
doc: Use module() in the definition of the built-in type mfa()
|
|
As for the port number in the parent commit, a FQDN can't be arbitrarily
long, at most 255 octets. Make decode fail if it's more.
|
|
A port number is a 16-bit integer, but the regexp used to parse it in
commit 1590920 slavishly followed the RFC 6733 grammar in matching an
arbitrary number of digits. Make decode fail if it's anything more than
5, to avoid doing erlang:list_to_integer/1 on arbitrarily large lists.
Also make it fail if the resulting integer is outside of the expected
range.
|
|
To bound the length of incoming messages that will be decoded. A message
longer than the specified number of bytes is discarded. An
incoming_maxlen_exceeded counter is incremented to make note of the
occurrence.
The motivation is to prevent a sufficiently malicious peer from
generating significant load by sending long messages with many AVPs for
diameter to decode. The 24-bit message length header accomodates
(16#FFFFFF - 20) div 12 = 1398099
Unsigned32 AVPs for example, which the current record-valued decode is
too slow with in practice. A bound of 16#FFFF bytes allows for 5461
small AVPs, which is probably more than enough for the majority of
applications, but the default is the full 16#FFFFFF.
|