diff options
| author | Dave Cheney <dave@cheney.net> | 2014-04-03 13:44:44 +1100 |
|---|---|---|
| committer | Dave Cheney <dave@cheney.net> | 2014-04-03 13:44:44 +1100 |
| commit | 9121e7e4df8e3867be2929cb2188272fbfe4408e (patch) | |
| tree | 5452a56ff5fb30c7995ad03dc5d6a0a9eb741023 /src/pkg/runtime | |
| parent | 568f50e3fcf3643cd5dd0ebf645ad2611cd34be5 (diff) | |
| download | go-9121e7e4df8e3867be2929cb2188272fbfe4408e.tar.xz | |
runtime: check that new slice cap doesn't overflow
Fixes #7550.
LGTM=iant
R=golang-codereviews, iant, josharian
CC=golang-codereviews
https://golang.org/cl/83520043
Diffstat (limited to 'src/pkg/runtime')
| -rw-r--r-- | src/pkg/runtime/slice.goc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pkg/runtime/slice.goc b/src/pkg/runtime/slice.goc index 36745e770d..6112639e02 100644 --- a/src/pkg/runtime/slice.goc +++ b/src/pkg/runtime/slice.goc @@ -65,7 +65,7 @@ func growslice(t *SliceType, old Slice, n int64) (ret Slice) { cap = old.cap + n; - if((intgo)cap != cap || cap < old.cap || (t->elem->size > 0 && cap > MaxMem/t->elem->size)) + if((intgo)cap != cap || cap < (int64)old.cap || (t->elem->size > 0 && cap > MaxMem/t->elem->size)) runtimeĀ·panicstring("growslice: cap out of range"); if(raceenabled) { |
