From: Saikrishna Ramdeni (sramdeni) Date: Wed, 30 Jul 2025 05:54:03 +0000 (+0000) Subject: Pull request #4839: olefile: fixed issue check X-Git-Tag: 3.9.3.0~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09788e189f0b64085ddc0c05faffd75e935373e8;p=thirdparty%2Fsnort3.git Pull request #4839: olefile: fixed issue check Merge in SNORT/snort3 from ~SRAMDENI/snort3:issue_check_fix to master Squashed commit of the following: commit b9d62df48cca889b95e15ef3de16e234ee4c0a14 Author: sramdeni Date: Tue Jul 29 16:48:21 2025 +0530 olefile : fixed cpp_check errors, issue_check warning and addressed comments --- diff --git a/src/decompress/file_olefile.cc b/src/decompress/file_olefile.cc index 45303ccf1..53a19620b 100644 --- a/src/decompress/file_olefile.cc +++ b/src/decompress/file_olefile.cc @@ -231,8 +231,9 @@ int32_t OleFile :: get_mini_fat_offset(int32_t sec_id) int32_t sec_position, mini_sec_position, count, current_sector; int32_t byte_offset, mini_fat_persector; - if (header->get_mini_sector_size() <= 0) + if (header->get_mini_sector_size() == 0) return -1; + mini_fat_persector = header->get_sector_size() / header->get_mini_sector_size(); if (sec_id >= mini_fat_persector) @@ -346,10 +347,13 @@ void OleFile :: get_file_data(FileProperty* node, uint8_t*& file_data, uint32_t& return; } visited_mini_sectors.insert(mini_sector); - byte_offset = get_mini_fat_offset(mini_sector); - if (byte_offset == -1 || byte_offset > buf_len) + int32_t check_offset = get_mini_fat_offset(mini_sector); + if (check_offset < 0 || static_cast(check_offset) > buf_len) return; + byte_offset = static_cast(check_offset); + + bytes_to_copy = find_bytes_to_copy(byte_offset, data_len, stream_size, mini_sector_size);