Kaynağa Gözat

Add gofuzz function

Chris Bannister 10 yıl önce
ebeveyn
işleme
f1c3acc0e7
2 değiştirilmiş dosya ile 37 ekleme ve 0 silme
  1. 4 0
      .gitignore
  2. 33 0
      fuzz.go

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+gocql-fuzz
+fuzz-corpus
+fuzz-work
+gocql.test

+ 33 - 0
fuzz.go

@@ -0,0 +1,33 @@
+// +build gofuzz
+
+package gocql
+
+import "bytes"
+
+func Fuzz(data []byte) int {
+	var bw bytes.Buffer
+
+	r := bytes.NewReader(data)
+
+	head, err := readHeader(r, make([]byte, 9))
+	if err != nil {
+		return 0
+	}
+
+	framer := newFramer(r, &bw, nil, 3)
+	err = framer.readFrame(&head)
+	if err != nil {
+		return 0
+	}
+
+	frame, err := framer.parseFrame()
+	if err != nil {
+		return 0
+	}
+
+	if frame != nil {
+		return 1
+	}
+
+	return 2
+}