diff options
Diffstat (limited to 'src/pkg')
| -rw-r--r-- | src/pkg/runtime/slice.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); |
