forked from quic-go/quic-go
append to a byte slice instead of a bytes.Buffer when serializing frames
This commit is contained in:
@@ -55,10 +55,10 @@ func Fuzz(data []byte) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
b := &bytes.Buffer{}
|
||||
var b []byte
|
||||
for _, f := range frames {
|
||||
if f == nil { // PADDING frame
|
||||
b.WriteByte(0x0)
|
||||
b = append(b, 0)
|
||||
continue
|
||||
}
|
||||
// We accept empty STREAM frames, but we don't write them.
|
||||
@@ -68,11 +68,12 @@ func Fuzz(data []byte) int {
|
||||
continue
|
||||
}
|
||||
}
|
||||
lenBefore := b.Len()
|
||||
if err := f.Write(b, version); err != nil {
|
||||
lenBefore := len(b)
|
||||
b, err := f.Write(b, version)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("Error writing frame %#v: %s", f, err))
|
||||
}
|
||||
frameLen := b.Len() - lenBefore
|
||||
frameLen := len(b) - lenBefore
|
||||
if f.Length(version) != protocol.ByteCount(frameLen) {
|
||||
panic(fmt.Sprintf("Inconsistent frame length for %#v: expected %d, got %d", f, frameLen, f.Length(version)))
|
||||
}
|
||||
@@ -80,8 +81,8 @@ func Fuzz(data []byte) int {
|
||||
sf.PutBack()
|
||||
}
|
||||
}
|
||||
if b.Len() > parsedLen {
|
||||
panic(fmt.Sprintf("Serialized length (%d) is longer than parsed length (%d)", b.Len(), parsedLen))
|
||||
if len(b) > parsedLen {
|
||||
panic(fmt.Sprintf("Serialized length (%d) is longer than parsed length (%d)", len(b), parsedLen))
|
||||
}
|
||||
return 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user