From: Bhargava Jandhyala (bjandhya) Date: Mon, 12 Jul 2021 18:39:23 +0000 (+0000) Subject: Merge pull request #2973 in SNORT/snort3 from ~VKAMBALA/snort3:file_segment to master X-Git-Tag: 3.1.8.0~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2214f2a268a636e020356268339538373e38efcf;p=thirdparty%2Fsnort3.git Merge pull request #2973 in SNORT/snort3 from ~VKAMBALA/snort3:file_segment to master Squashed commit of the following: commit 28576ac68af95cca16c672970f01880e1ab661b0 Author: krishnakanth Date: Wed Jul 7 01:48:20 2021 -0400 file_api: Handling overlap segments --- diff --git a/src/file_api/file_segment.cc b/src/file_api/file_segment.cc index 1a879ba4b..1d6b847fb 100644 --- a/src/file_api/file_segment.cc +++ b/src/file_api/file_segment.cc @@ -237,6 +237,9 @@ int FileSegments::process(Packet* p, const uint8_t* file_data, uint64_t data_siz // Walk through the segments that can be flushed if (current_offset == offset) { + if (head and offset+data_size > head->offset) + data_size = head->offset - offset; + ret = process_one(p, file_data, data_size, policy, position); current_offset += data_size; if (!ret)