diff options
author | Stuart Stock <stuart@int08h.com> | 2018-03-24 17:34:45 -0500 |
---|---|---|
committer | Stuart Stock <stuart@int08h.com> | 2018-03-24 17:34:45 -0500 |
commit | e0d15dc1d9bfbd92518916dbfc306cda32c47ff3 (patch) | |
tree | 712a1dcd0e220b6dc61dbb9bc01099b8e3155ad8 /src/message.rs | |
parent | c5bcc5025a801f9c3b60715675ca86a70a72d98a (diff) | |
download | roughenough-e0d15dc1d9bfbd92518916dbfc306cda32c47ff3.zip |
Check single tag message length
Diffstat (limited to 'src/message.rs')
-rw-r--r-- | src/message.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/message.rs b/src/message.rs index 3429802..f660e10 100644 --- a/src/message.rs +++ b/src/message.rs @@ -70,6 +70,10 @@ impl RtMessage { /// Internal function to create a single tag message fn single_tag_message(bytes: &[u8], msg: &mut Cursor<&[u8]>) -> Result<Self, Error> { + if bytes.len() < 8 { + return Err(Error::MessageTooShort); + } + let pos = msg.position() as usize; msg.set_position((pos + 4) as u64); @@ -80,7 +84,7 @@ impl RtMessage { let mut rt_msg = RtMessage::new(1); rt_msg.add_field(tag, &value)?; - return Ok(rt_msg); + Ok(rt_msg) } /// Internal function to create a multiple tag message |