]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
util/file: add validation check for extreme data chunk sizes
authorVictor Julien <vjulien@oisf.net>
Thu, 28 Mar 2024 14:09:31 +0000 (15:09 +0100)
committerVictor Julien <victor@inliniac.net>
Fri, 19 Apr 2024 18:51:24 +0000 (20:51 +0200)
src/util-file.c

index a1c30d89ecded97b38067206603e98e556c4f415..fdb8d740d8cbebc131e6c56c9cd50b1b519eb977 100644 (file)
@@ -662,6 +662,9 @@ static int FileStoreNoStoreCheck(File *ff)
 static int AppendData(
         const StreamingBufferConfig *sbcfg, File *file, const uint8_t *data, uint32_t data_len)
 {
+    DEBUG_VALIDATE_BUG_ON(
+            data_len > BIT_U32(26)); // 64MiB as a limit per chunk seems already excessive
+
     SCLogDebug("file %p data_len %u", file, data_len);
     if (StreamingBufferAppendNoTrack(file->sb, sbcfg, data, data_len) != 0) {
         SCLogDebug("file %p StreamingBufferAppendNoTrack failed", file);