Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-12-13 | erts: Fix possible heap corruption getting atomics | Tomas Abrahamsson | |
Due to comparison as a signed integer, when getting an unsigned atomic in the range 2^63-1..2^64-1 (when the most significant bit was set), the heap could get corrupted when the integer was retrieved: hsz would get set to zero, but the code proceeded to build a bignum. Steps to reproduce (at least on x86_64): $ erl 1> A = atomics:new(1,[{signed,false}]). 2> atomics:put(A,1,18446744073709551615). 3> atomics:get(A,1). At the last step, the shell would print some garbage and hang. | |||
2018-11-15 | erts: Add new module 'atomics' | Sverker Eriksson | |