From a84abbe5086e8a9d280f3f5bd94f3b7940a00eff Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 27 Jul 2011 16:47:45 -0400 Subject: gc: zero-width struct, zero-length array fixes Fixes #1774. Fixes #2095. Fixes #2097. R=ken2 CC=golang-dev https://golang.org/cl/4826046 --- src/pkg/runtime/slice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/pkg') diff --git a/src/pkg/runtime/slice.c b/src/pkg/runtime/slice.c index 9146c177f2..70534279b5 100644 --- a/src/pkg/runtime/slice.c +++ b/src/pkg/runtime/slice.c @@ -20,7 +20,7 @@ runtimeĀ·makeslice(SliceType *t, int64 len, int64 cap, Slice ret) { if(len < 0 || (int32)len != len) runtimeĀ·panicstring("makeslice: len out of range"); - if(cap < len || (int32)cap != cap || cap > ((uintptr)-1) / t->elem->size) + if(cap < len || (int32)cap != cap || t->elem->size > 0 && cap > ((uintptr)-1) / t->elem->size) runtimeĀ·panicstring("makeslice: cap out of range"); makeslice1(t, len, cap, &ret); -- cgit v1.3-5-g9baa