From: Lancer Cheng Date: Mon, 22 May 2023 09:16:34 +0000 (+0000) Subject: smb: fix wrong data offset when wct = 12 X-Git-Tag: suricata-6.0.14~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d23540da9d5d4f2457fc444c4e1f4418ae9394a5;p=thirdparty%2Fsuricata.git smb: fix wrong data offset when wct = 12 Bug: #6008 (cherry picked from commit 000eb91078d5ca88ee93006340d7e68f97ade4bc) --- diff --git a/rust/src/smb/smb1_records.rs b/rust/src/smb/smb1_records.rs index 8747ef84e3..85ba1bae58 100644 --- a/rust/src/smb/smb1_records.rs +++ b/rust/src/smb/smb1_records.rs @@ -93,7 +93,7 @@ named!(pub parse_smb1_write_andx_request_record, >> _padding_evasion: cond!(data_offset > 36+2*(wct as u16), take!(data_offset - (36+2*(wct as u16)))) >> file_data: rest >> (Smb1WriteRequestRecord { - offset: if high_offset != None { ((high_offset.unwrap() as u64) << 32)|(offset as u64) } else { 0 }, + offset: ((high_offset.unwrap_or(0) as u64) << 32) | offset as u64, len: (((data_len_high as u32) << 16) as u32)|(data_len_low as u32), fid, data:file_data,