diff --git a/rust/src/dcerpc/dcerpc_udp.rs b/rust/src/dcerpc/dcerpc_udp.rs index 0633d89898..949ed2063f 100644 --- a/rust/src/dcerpc/dcerpc_udp.rs +++ b/rust/src/dcerpc/dcerpc_udp.rs @@ -178,7 +178,7 @@ impl DCERPCUDPState { let max_size = cfg_max_stub_size() as usize; match hdr.pkt_type { DCERPC_TYPE_REQUEST => { - tx.frag_cnt_ts += 1; + tx.frag_cnt_ts = tx.frag_cnt_ts.saturating_add(1); if input.len() + tx.stub_data_buffer_ts.len() < max_size { tx.stub_data_buffer_ts.extend_from_slice(input); } else if tx.stub_data_buffer_ts.len() < max_size { @@ -190,7 +190,7 @@ impl DCERPCUDPState { return true; } DCERPC_TYPE_RESPONSE => { - tx.frag_cnt_tc += 1; + tx.frag_cnt_tc = tx.frag_cnt_tc.saturating_add(1); if input.len() + tx.stub_data_buffer_tc.len() < max_size { tx.stub_data_buffer_tc.extend_from_slice(input); } else if tx.stub_data_buffer_tc.len() < max_size { diff --git a/rust/src/smb/dcerpc.rs b/rust/src/smb/dcerpc.rs index 1002d1f832..c7560b7a66 100644 --- a/rust/src/smb/dcerpc.rs +++ b/rust/src/smb/dcerpc.rs @@ -205,7 +205,7 @@ pub fn smb_write_dcerpc_record(state: &mut SMBState, SCLogDebug!("previous CMD {} found at tx {} => {:?}", dcer.packet_type, tx.id, tx); if let Some(SMBTransactionTypeData::DCERPC(ref mut tdn)) = tx.type_data { - tdn.frag_cnt_ts += 1; + tdn.frag_cnt_ts = tdn.frag_cnt_ts.saturating_add(1); let max_size = cfg_max_stub_size() as usize; if recr.data.len() + tdn.stub_data_ts.len() < max_size { SCLogDebug!("additional frag of size {}", recr.data.len()); @@ -247,7 +247,7 @@ pub fn smb_write_dcerpc_record(state: &mut SMBState, SCLogDebug!("first frag size {}", recr.data.len()); tdn.opnum = recr.opnum; tdn.context_id = recr.context_id; - tdn.frag_cnt_ts += 1; + tdn.frag_cnt_ts = tdn.frag_cnt_ts.saturating_add(1); let max_size = cfg_max_stub_size() as usize; if tdn.stub_data_ts.len() + recr.data.len() < max_size { tdn.stub_data_ts.extend_from_slice(recr.data); @@ -418,7 +418,7 @@ fn dcerpc_response_handle(tx: &mut SMBTransaction, SCLogDebug!("CMD 11 found at tx {}", tx.id); tdn.set_result(DCERPC_TYPE_RESPONSE); let max_size = cfg_max_stub_size() as usize; - tdn.frag_cnt_tc += 1; + tdn.frag_cnt_tc = tdn.frag_cnt_tc.saturating_add(1); if tdn.stub_data_tc.len() + respr.data.len() < max_size { tdn.stub_data_tc.extend_from_slice(respr.data); } else if tdn.stub_data_tc.len() < max_size {