]> Cypherpunks repositories - gostls13.git/commit
runtime: avoid stat underflow crash
authorAustin Clements <austin@google.com>
Mon, 16 Nov 2015 04:09:16 +0000 (23:09 -0500)
committerAustin Clements <austin@google.com>
Mon, 16 Nov 2015 17:32:29 +0000 (17:32 +0000)
commit97dc591534e580ede4c6145456dadf1e009f1bea
tree84f38b17a74e0a11adc1f25d0ec26b7399cbbfa5
parent9b299c1efd902842b788d7dc103512b6b2568ea9
runtime: avoid stat underflow crash

If the area returned by sysReserve in mheap.sysAlloc is outside the
usable arena, we sysFree it. We pass a fake stat pointer to sysFree
because we haven't added the allocation to any stat at that point.
However, we pass a 0 stat, so sysFree panics when it decrements the
stat because the fake stat underflows.

Fix this by setting the fake stat to the allocation size.

Updates #13143 (this is a prerequisite to fixing that bug).

Change-Id: I61a6c9be19ac1c95863cf6a8435e19790c8bfc9a
Reviewed-on: https://go-review.googlesource.com/16926
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/malloc.go