]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4839: olefile: fixed issue check
authorSaikrishna Ramdeni (sramdeni) <sramdeni@cisco.com>
Wed, 30 Jul 2025 05:54:03 +0000 (05:54 +0000)
committerBhargava Jandhyala (bjandhya) <bjandhya@cisco.com>
Wed, 30 Jul 2025 05:54:03 +0000 (05:54 +0000)
Merge in SNORT/snort3 from ~SRAMDENI/snort3:issue_check_fix to master

Squashed commit of the following:

commit b9d62df48cca889b95e15ef3de16e234ee4c0a14
Author: sramdeni <sramdeni@cisco.com>
Date:   Tue Jul 29 16:48:21 2025 +0530

    olefile : fixed cpp_check errors, issue_check warning  and  addressed comments

src/decompress/file_olefile.cc

index 45303ccf17192a0470e591a9cf610a849c14de76..53a19620b8723a9d3bdab22696dd9a9386dbe55d 100644 (file)
@@ -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<uint32_t>(check_offset) > buf_len)
                     return;
 
+                byte_offset = static_cast<uint32_t>(check_offset);
+
+
                 bytes_to_copy = find_bytes_to_copy(byte_offset, data_len,
                                     stream_size, mini_sector_size);