Skip to content

Commit 82086f4

Browse files
author
Achille Roussel
committed
protect agaginst null keys and values
1 parent 181f70e commit 82086f4

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

message.go

+15-4
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,14 @@ func (r *messageSetReaderV1) readMessage(min int64,
282282
continue
283283
}
284284

285-
key(rb, int(rb.readInt32()))
286-
val(rb, int(rb.readInt32()))
285+
if n := int(rb.readInt32()); n >= 0 {
286+
key(rb, n)
287+
}
288+
289+
if n := int(rb.readInt32()); n >= 0 {
290+
val(rb, n)
291+
}
292+
287293
err = rb.err
288294
return
289295
}
@@ -480,8 +486,13 @@ func (r *messageSetReaderV2) readMessage(min int64,
480486
timestampDelta := rb.readVarInt()
481487
offsetDelta := rb.readVarInt()
482488

483-
key(rb, int(rb.readVarInt()))
484-
val(rb, int(rb.readVarInt()))
489+
if n := int(rb.readVarInt()); n >= 0 {
490+
key(rb, n)
491+
}
492+
493+
if n := int(rb.readVarInt()); n >= 0 {
494+
val(rb, n)
495+
}
485496

486497
headerCount := rb.readVarInt()
487498
headers = make([]Header, headerCount)

0 commit comments

Comments
 (0)