StatsIncr(tv, ra_ctx->counter_tcp_reass_gap);
/* AppLayerHandleTCPData has likely updated progress. */
+ const bool no_progress_update = (app_progress == STREAM_APP_PROGRESS(*stream));
app_progress = STREAM_APP_PROGRESS(*stream);
/* a GAP also consumes 'data required'. TODO perhaps we can use
}
if (r < 0)
return 0;
-
+ if (no_progress_update)
+ break;
continue;
+
} else if (mydata == NULL || mydata_len == 0) {
/* Possibly a gap, but no new data. */
if ((p->flags & PKT_PSEUDO_STREAM_END) == 0 || ssn->state < TCP_CLOSED)