From 6e1c0df1048de9c95e757a35dd924917ea2bc481 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Sun, 22 Jan 2012 12:01:12 -0800 Subject: [PATCH] gob: reduce the maximum message size It was 2^31, but that could cause overflow and trouble. Reduce it to 2^30 and add a TODO. R=golang-dev, iant CC=golang-dev https://golang.org/cl/5562049 --- src/pkg/encoding/gob/decoder.go | 4 +++- src/pkg/encoding/gob/gobencdec_test.go | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pkg/encoding/gob/decoder.go b/src/pkg/encoding/gob/decoder.go index 5e684d3ee7e..fb28c8caf53 100644 --- a/src/pkg/encoding/gob/decoder.go +++ b/src/pkg/encoding/gob/decoder.go @@ -75,7 +75,9 @@ func (dec *Decoder) recvMessage() bool { dec.err = err return false } - if nbytes >= 1<<31 { + // Upper limit of 1GB, allowing room to grow a little without overflow. + // TODO: We might want more control over this limit. + if nbytes >= 1<<30 { dec.err = errBadCount return false } diff --git a/src/pkg/encoding/gob/gobencdec_test.go b/src/pkg/encoding/gob/gobencdec_test.go index b8dfeeb5156..83644c0331b 100644 --- a/src/pkg/encoding/gob/gobencdec_test.go +++ b/src/pkg/encoding/gob/gobencdec_test.go @@ -547,7 +547,6 @@ func (a isZeroBugArray) GobEncode() (b []byte, e error) { } func (a *isZeroBugArray) GobDecode(data []byte) error { - println("DECODE") if len(data) != len(a) { return io.EOF }