Skip to content

Commit 1b21bbc

Browse files
committed
Reject messages with zero tags
1 parent 1ce57a1 commit 1b21bbc

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/error.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ pub enum Error {
3434
/// Offset within message was not 32-bit aligned
3535
InvalidOffsetAlignment(u32),
3636

37+
/// Invalid number of tags specified
38+
InvalidNumTags(u32),
39+
3740
/// Otherwise invalid request
3841
InvalidRequest,
3942
}

src/message.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ impl RtMessage {
4747
let mut msg = Cursor::new(bytes);
4848

4949
let num_tags = msg.read_u32::<LittleEndian>()?;
50+
if num_tags == 0 {
51+
return Err(Error::InvalidNumTags(0));
52+
}
53+
5054
let mut rt_msg = RtMessage::new(num_tags);
5155

5256
if num_tags == 1 {

0 commit comments

Comments
 (0)