]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
frame: add debug validation check
authorVictor Julien <vjulien@oisf.net>
Thu, 12 Jan 2023 14:02:40 +0000 (15:02 +0100)
committerVictor Julien <vjulien@oisf.net>
Mon, 23 Jan 2023 10:29:01 +0000 (11:29 +0100)
src/app-layer-frames.c

index 1a6c18b911cd039980f169fa4ddd60bd668b42be..f68f2c36ee2f7a6b2604576768af24d236069812 100644 (file)
@@ -481,6 +481,12 @@ Frame *AppLayerFrameNewByRelativeOffset(Flow *f, const StreamSlice *stream_slice
     }
 
     const uint64_t frame_abs_offset = (uint64_t)frame_start_rel + stream_slice->offset;
+#ifdef DEBUG_VALIDATION
+    const TcpSession *ssn = f->protoctx;
+    const TcpStream *stream = dir == 0 ? &ssn->client : &ssn->server;
+    BUG_ON(stream_slice->offset != STREAM_APP_PROGRESS(stream));
+    BUG_ON(frame_abs_offset > STREAM_APP_PROGRESS(stream) + stream_slice->input_len);
+#endif
     Frame *r = FrameNew(frames, frame_abs_offset, len);
     if (r != NULL) {
         r->type = frame_type;