Return an error if event data size is 0

This commit is contained in:
Brandon Weeks 2020-01-08 13:03:16 -08:00
parent e134551bb0
commit e9e2656545

View File

@ -520,6 +520,9 @@ func parseRawEvent(r *bytes.Buffer, specID *specIDEvent) (event rawEvent, err er
if err = binary.Read(r, binary.LittleEndian, &h); err != nil {
return event, err
}
if h.EventSize == 0 {
return event, errors.New("event data size is 0")
}
if h.EventSize > uint32(r.Len()) {
return event, &eventSizeErr{h.EventSize, r.Len()}
}
@ -585,6 +588,9 @@ func parseRawEvent2(r *bytes.Buffer, specID *specIDEvent) (event rawEvent, err e
if err = binary.Read(r, binary.LittleEndian, &eventSize); err != nil {
return event, err
}
if eventSize == 0 {
return event, errors.New("event data size is 0")
}
if eventSize > uint32(r.Len()) {
return event, &eventSizeErr{eventSize, r.Len()}
}