From 82b585d2026003df8dc8587c40f38f21dcd100a2 Mon Sep 17 00:00:00 2001 From: Jeff Lucovsky Date: Mon, 10 Jul 2023 10:31:45 -0400 Subject: [PATCH] file: Window and edge adjustments Issue: 4145 Adjust edge and window values after considering file size/inspected values. --- src/util-file.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/util-file.c b/src/util-file.c index a9bfa57dbd..d2d899439b 100644 --- a/src/util-file.c +++ b/src/util-file.c @@ -404,14 +404,19 @@ static int FilePruneFile(File *file, const StreamingBufferConfig *cfg) window, file_size, data_size); if (data_size > (window * 3)) { - left_edge = file_size - window; - SCLogDebug("file->content_inspected now %"PRIu64, left_edge); - file->content_inspected = left_edge; + file->content_inspected = MAX(file->content_inspected, file->size - window); + SCLogDebug("file->content_inspected now %" PRIu64, file->content_inspected); } + + if (left_edge > window) + left_edge -= window; + else + left_edge = 0; } } if (left_edge) { + SCLogDebug("sliding to %" PRIu64, left_edge); StreamingBufferSlideToOffset(file->sb, cfg, left_edge); }