dcerpc: prevent integer underflow

in case a fragment has a length lesser than DCERPC_HDR_LEN

Fixes: 9daf8528b7 ("dcerpc: tidy up code")

Ticket: 7548
pull/12553/head
Philippe Antoine 4 weeks ago committed by Victor Julien
parent d9a6d5dc46
commit ef044b208c

@ -938,7 +938,7 @@ impl DCERPCState {
let fraglen = self.get_hdr_fraglen().unwrap_or(0);
if cur_i.len() < (fraglen - frag_bytes_consumed) as usize {
if (cur_i.len() + frag_bytes_consumed as usize) < fraglen as usize {
SCLogDebug!("Possibly fragmented data, waiting for more..");
return AppLayerResult::incomplete(parsed as u32, fraglen as u32 - parsed as u32);
}

Loading…
Cancel
Save