From a3612eb28ec432cfdd9dc784ab6a7230f92f655e Mon Sep 17 00:00:00 2001 From: Jeff Lucovsky Date: Wed, 3 Jan 2024 09:28:41 -0500 Subject: [PATCH] mqtt: Improve handling of multiple PDU parsing Issue: 6592 --- rust/src/mqtt/mqtt.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust/src/mqtt/mqtt.rs b/rust/src/mqtt/mqtt.rs index 7f60e2a757cd..093a8cdbadb7 100644 --- a/rust/src/mqtt/mqtt.rs +++ b/rust/src/mqtt/mqtt.rs @@ -462,13 +462,13 @@ impl MQTTState { } while !current.is_empty() { - SCLogDebug!("request: handling {}", current.len()); + SCLogDebug!("request: handling {}; rem: {}", current.len(), input.len() - current.len()); match parse_message(current, self.protocol_version, self.max_msg_len) { Ok((rem, msg)) => { let _pdu = Frame::new( flow, &stream_slice, - input, + current, current.len() as i64, MQTTFrameType::Pdu as u8, ); @@ -553,8 +553,8 @@ impl MQTTState { let _pdu = Frame::new( flow, &stream_slice, - input, - input.len() as i64, + current, + current.len() as i64, MQTTFrameType::Pdu as u8, );