]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
stream-buffer: fix block search compare func
authorVictor Julien <victor@inliniac.net>
Fri, 22 Feb 2019 15:14:48 +0000 (16:14 +0100)
committerVictor Julien <victor@inliniac.net>
Sat, 23 Feb 2019 10:49:27 +0000 (11:49 +0100)
Sbb search function could return the wrong block due to an off by
one error.

src/util-streaming-buffer.c

index 1c6e131db1ecde880232358ab7efcd943510eb85..a3c04c465658aa5b8876c0f02e302efa3285eeb2 100644 (file)
@@ -68,7 +68,7 @@ int SBBCompare(struct StreamingBufferBlock *a, struct StreamingBufferBlock *b)
 static inline int InclusiveCompare(StreamingBufferBlock *lookup, StreamingBufferBlock *intree) {
     const uint64_t lre = lookup->offset + lookup->len;
     const uint64_t tre = intree->offset + intree->len;
-    if (lre < intree->offset)   // entirely before
+    if (lre <= intree->offset)   // entirely before
         return -1;
     else if (lre >= intree->offset && lre <= tre)    // (some) overlap
         return 0;