aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/slice.c
diff options
context:
space:
mode:
authorRémy Oudompheng <oudomphe@phare.normalesup.org>2012-10-06 12:05:52 +0200
committerRémy Oudompheng <oudomphe@phare.normalesup.org>2012-10-06 12:05:52 +0200
commit782464aea540e9ebf720509ce627d192d84d92a7 (patch)
tree84b2a1334899348d9bd47669a5cc03a2fe971917 /src/pkg/runtime/slice.c
parent4cc7bf326a26d3cc18f049424729784812fe16b6 (diff)
downloadgo-782464aea540e9ebf720509ce627d192d84d92a7.tar.xz
runtime: fix a panic when growing zero-width-element slices.
Fixes #4197. R=golang-dev, r CC=golang-dev https://golang.org/cl/6611056
Diffstat (limited to 'src/pkg/runtime/slice.c')
-rw-r--r--src/pkg/runtime/slice.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pkg/runtime/slice.c b/src/pkg/runtime/slice.c
index d2cc1684ee..b977f45824 100644
--- a/src/pkg/runtime/slice.c
+++ b/src/pkg/runtime/slice.c
@@ -114,7 +114,7 @@ runtime·growslice(SliceType *t, Slice old, int64 n, Slice ret)
cap = old.cap + n;
- if((intgo)cap != cap || cap < old.cap || cap > MaxMem / t->elem->size)
+ if((intgo)cap != cap || cap < old.cap || (t->elem->size > 0 && cap > MaxMem/t->elem->size))
runtime·panicstring("growslice: cap out of range");
growslice1(t, old, cap, &ret);