]> Cypherpunks repositories - gostls13.git/commit
runtime: fix buffer overflow in stringtoslicerune
authorDmitriy Vyukov <dvyukov@google.com>
Mon, 27 Jan 2014 16:29:21 +0000 (20:29 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Mon, 27 Jan 2014 16:29:21 +0000 (20:29 +0400)
commite1a91c5b8963e3e02c897f96218d4eae17bcb740
treea4c80ef1b6c28ef75d94e00349b08e3181e17b32
parentbace9523eed9bc695310cd327b19ecdf7aa44612
runtime: fix buffer overflow in stringtoslicerune
On 32-bits n*sizeof(r[0]) can overflow.
Or it can become 1<<32-eps, and mallocgc will "successfully"
allocate 0 pages for it, there are no checks downstream
and MHeap_Grow just does:
npage = (npage+15)&~15;
ask = npage<<PageShift;

LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews
https://golang.org/cl/54760045
src/pkg/runtime/malloc.goc
src/pkg/runtime/string.goc