Skip to content

Commit

Permalink
Fix fuzzing of recordLayer
Browse files Browse the repository at this point in the history
The old code caused compilation errors
an was clearly not covered by any tests so far.
  • Loading branch information
stv0g committed Jan 22, 2023
1 parent 3a6f531 commit 6aaf97c
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions fuzz.go → pkg/protocol/recordlayer/fuzz.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
//go:build gofuzz
// +build gofuzz

package dtls
package recordlayer

import "fmt"
import (
"fmt"
)

func partialHeaderMismatch(a, b recordlayer.Header) bool {
func partialHeaderMismatch(a, b Header) bool {
// Ignoring content length for now.
a.contentLen = b.contentLen
a.ContentLen = b.ContentLen
return a != b
}

func FuzzRecordLayer(data []byte) int {
var r recordLayer
var r RecordLayer
if err := r.Unmarshal(data); err != nil {
return 0
}
Expand All @@ -23,14 +25,14 @@ func FuzzRecordLayer(data []byte) int {
if len(buf) == 0 {
panic("zero buff") // nolint
}
var nr recordLayer
var nr RecordLayer
if err = nr.Unmarshal(data); err != nil {
panic(err) // nolint
}
if partialHeaderMismatch(nr.recordlayer.Header, r.recordlayer.Header) {
if partialHeaderMismatch(nr.Header, r.Header) {
panic( // nolint
fmt.Sprintf("header mismatch: %+v != %+v",
nr.recordlayer.Header, r.recordlayer.Header,
nr.Header, r.Header,
),
)
}
Expand Down

0 comments on commit 6aaf97c

Please sign in to comment.