diff --git a/rust/src/quic/frames.rs b/rust/src/quic/frames.rs
index 0266850fd3..a3afc27567 100644
--- a/rust/src/quic/frames.rs
+++ b/rust/src/quic/frames.rs
@@ -541,7 +541,7 @@ impl Frame {
}
pub(crate) fn decode_frames(input: &[u8]) -> IResult<&[u8], Vec, QuicError> {
- let (rest, mut frames) = many0(complete(Frame::decode_frame))(input)?;
+ let (rest, mut frames) = all_consuming(many0(complete(Frame::decode_frame)))(input)?;
// reassemble crypto fragments : first find total size
let mut crypto_max_size = 0;
diff --git a/rust/src/quic/parser.rs b/rust/src/quic/parser.rs
index 126973633b..fbb8195ce1 100644
--- a/rust/src/quic/parser.rs
+++ b/rust/src/quic/parser.rs
@@ -17,7 +17,7 @@
use super::error::QuicError;
use super::frames::Frame;
use nom7::bytes::complete::take;
-use nom7::combinator::{all_consuming, map};
+use nom7::combinator::map;
use nom7::number::complete::{be_u24, be_u32, be_u8};
use nom7::IResult;
use std::convert::TryFrom;
@@ -393,7 +393,7 @@ impl QuicHeader {
impl QuicData {
pub(crate) fn from_bytes(input: &[u8]) -> Result {
- let (_, frames) = all_consuming(Frame::decode_frames)(input)?;
+ let (_, frames) = Frame::decode_frames(input)?;
Ok(QuicData { frames })
}
}