Pruning of StreamBufferBlocks could remove blocks that fell entirely
after the target offset due to a logic error. This could lead to data
being evicted that was still meant to be processed in theapp-layer
parsers.
Bug: #4953.
(cherry picked from commit
78f5e082f5188204606ab9ceb5044447e49aaca2)
StreamingBufferBlock *sbb = NULL, *safe = NULL;
RB_FOREACH_SAFE(sbb, SBB, &sb->sbb_tree, safe) {
/* completely beyond window, we're done */
- if (sbb->offset > sb->stream_offset) {
+ if (sbb->offset >= sb->stream_offset) {
sb->head = sbb;
break;
}