aboutsummaryrefslogtreecommitdiff
path: root/src/internal/trace/parser_test.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-07-17 17:53:48 -0700
committerDmitry Vyukov <dvyukov@google.com>2015-07-18 19:51:50 +0000
commite1ee31400a4258985647a6d699c7df56a81d7a98 (patch)
treeb7ff7eb0fba7c3047363a24e907aa70528cb9578 /src/internal/trace/parser_test.go
parentc4bfd2de2039601f20ca2133b83261f703987211 (diff)
downloadgo-e1ee31400a4258985647a6d699c7df56a81d7a98.tar.xz
internal/trace: fix fuzzer crashers
Fixes #11766 Fixes #11769 Fixes #11767 Fixes #11770 Change-Id: I441382af58f60deb46dcdd70076763b2c47738d4 Reviewed-on: https://go-review.googlesource.com/12378 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/internal/trace/parser_test.go')
-rw-r--r--src/internal/trace/parser_test.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/internal/trace/parser_test.go b/src/internal/trace/parser_test.go
new file mode 100644
index 0000000000..7d066e86fe
--- /dev/null
+++ b/src/internal/trace/parser_test.go
@@ -0,0 +1,26 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package trace
+
+import (
+ "strings"
+ "testing"
+)
+
+func TestCorruptedInputs(t *testing.T) {
+ // These inputs crashed parser previously.
+ tests := []string{
+ "gotrace\x00\x020",
+ "gotrace\x00Q00\x020",
+ "gotrace\x00T00\x020",
+ "gotrace\x00\xc3\x0200",
+ }
+ for _, data := range tests {
+ events, err := Parse(strings.NewReader(data))
+ if err == nil || events != nil {
+ t.Fatalf("no error on input: %q\n", t)
+ }
+ }
+}