top | item 38693129

(no title)

throwaway858 | 2 years ago

The current implementation is not memory safe. Go uses 128 bit structs for interfaces and slices and assumes that they are updated atomically (when they are not).

It's possible to exploit this to read/write arbitrary memory and to execute arbitrary code. It appears that in practice this is very difficult so the issue is ignored.

https://blog.stalkr.net/2015/04/golang-data-races-to-break-m...

discuss

order

assbuttbuttass|2 years ago

Data races can cause memory corruption. Make sure to run your test cases with --race