release.r57.2

93 views
Skip to first unread message

Andrew Gerrand

unread,
Jun 16, 2011, 10:45:53 PM6/16/11
to golang-nuts
We just tagged release.r57.2, a minor update to the r57 branch.

In programs that use goto to jump into the middle of a range
loop or over the declaration or initialization of a variable, it
was possible to then access uninitialized memory, violating
Go's memory safety guarantee even in a program that did not
import "unsafe" and kept GOMAXPROCS set to 1.

r57.2 restores the memory safety guarantee by zeroing the
stack frame on entry to any function that contains a goto
statement. The cost of this safety is a small performance
penalty, about 10 ns/call in our tests on a modern machine.

In the long term, these kinds of programs will trigger compile
time errors, and then the zeroing can be removed, but that
requires refinement of both the language specification and
the compilers.

Developers who use the goto statement or accept and run
code from untrusted sources should update from r57.1
to r57.2.

You can upgrade in the usual way, with:
hg pull
hg update release
and then run all.bash.

Andrew

Reply all
Reply to author
Forward
0 new messages