From: Victor Julien Date: Thu, 12 Jan 2023 14:02:40 +0000 (+0100) Subject: frame: add debug validation check X-Git-Tag: suricata-7.0.0-rc1~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6cbb5306c6b31957c7250b23510243bc121450f5;p=thirdparty%2Fsuricata.git frame: add debug validation check --- diff --git a/src/app-layer-frames.c b/src/app-layer-frames.c index 1a6c18b911..f68f2c36ee 100644 --- a/src/app-layer-frames.c +++ b/src/app-layer-frames.c @@ -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;