From f40fc0293b1fd61fbab0ae91849077d214006116 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 27 Mar 2018 10:31:28 +0200 Subject: [PATCH] smb: minor optimizations --- rust/src/smb/smb.rs | 4 ++-- rust/src/smb/smb2_records.rs | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/rust/src/smb/smb.rs b/rust/src/smb/smb.rs index 29db1d3fc4..9f55bf358a 100644 --- a/rust/src/smb/smb.rs +++ b/rust/src/smb/smb.rs @@ -1109,7 +1109,7 @@ impl SMBState { pub fn set_file_left(&mut self, direction: u8, rec_size: u32, data_size: u32, fuid: Vec) { - let left = if data_size >= rec_size { 0 } else { rec_size - data_size }; + let left = rec_size.saturating_sub(data_size); if direction == STREAM_TOSERVER { self.file_ts_left = left; self.file_ts_guid = fuid; @@ -1121,7 +1121,7 @@ impl SMBState { pub fn set_skip(&mut self, direction: u8, rec_size: u32, data_size: u32) { - let skip = if data_size >= rec_size { 0 } else { rec_size - data_size }; + let skip = rec_size.saturating_sub(data_size); if direction == STREAM_TOSERVER { self.skip_ts = skip; } else { diff --git a/rust/src/smb/smb2_records.rs b/rust/src/smb/smb2_records.rs index d068dbb5e1..7b34278cc2 100644 --- a/rust/src/smb/smb2_records.rs +++ b/rust/src/smb/smb2_records.rs @@ -409,12 +409,9 @@ fn parse_smb2_data<'a>(i: &'a[u8], len: u32) -> IResult<&'a[u8], &'a[u8]> { if len as usize > i.len() { - IResult::Done(&[], i) + rest(i) } else { - do_parse!(i, - data: take!(len) - >> (data) - ) + take!(i, len) } }