Skip to content

Commit e1333f3

Browse files
jrickdavecgh
authored andcommitted
wire: Fix {read,write}Element *[4]byte case
A previous commit which intended to remove the no longer used *[4]byte special case (for message header checksums) from writeElement inadvertently removed this from readElement instead. Remove it from the intended place, and restore the readElement case to avoid hitting the slow path.
1 parent 4568f76 commit e1333f3

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

wire/common.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,14 @@ func readElement(r io.Reader, element interface{}) error {
237237
*e = int64Time(time.Unix(int64(rv), 0))
238238
return nil
239239

240+
// Message header checksum.
241+
case *[4]byte:
242+
_, err := io.ReadFull(r, e[:])
243+
if err != nil {
244+
return err
245+
}
246+
return nil
247+
240248
case *[6]byte:
241249
_, err := io.ReadFull(r, e[:])
242250
if err != nil {
@@ -503,14 +511,6 @@ func writeElement(w io.Writer, element interface{}) error {
503511
}
504512
return nil
505513

506-
// Message header checksum.
507-
case *[4]byte:
508-
_, err := w.Write(e[:])
509-
if err != nil {
510-
return err
511-
}
512-
return nil
513-
514514
// Block header final state.
515515
case *[6]byte:
516516
_, err := w.Write(e[:])

0 commit comments

Comments
 (0)