aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/gob/encoder_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/encoding/gob/encoder_test.go')
-rw-r--r--src/encoding/gob/encoder_test.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/encoding/gob/encoder_test.go b/src/encoding/gob/encoder_test.go
index 4af7195209..7607b17dee 100644
--- a/src/encoding/gob/encoder_test.go
+++ b/src/encoding/gob/encoder_test.go
@@ -954,3 +954,17 @@ func TestErrorForHugeSlice(t *testing.T) {
t.Fatalf("decode: expected slice too big error, got %s", err.Error())
}
}
+
+// Don't crash, just give error with corrupted length.
+// Issue 10270.
+func TestErrorBadDrop(t *testing.T) {
+ data := []byte{0x05, 0x10, 0x00, 0x28, 0x55, 0x7b, 0x02, 0x02, 0x7f, 0x83, 0x02}
+ d := NewDecoder(bytes.NewReader(data))
+ err := d.Decode(nil)
+ if err == nil {
+ t.Fatal("decode: no error")
+ }
+ if !strings.Contains(err.Error(), "interface encoding") {
+ t.Fatalf("decode: expected interface encoding error, got %s", err.Error())
+ }
+}