{
SCEnter();
- uint32_t ret;
+ uint32_t ret = 0;
+
+ if (p->flowflags & FLOW_PKT_TOSERVER) {
+ if (det_ctx->sgh->mpm_stream_ctx_ts == NULL)
+ SCReturnInt(0);
- if (p->flowflags & FLOW_PKT_TOSERVER && det_ctx->sgh->mpm_stream_ctx_ts != NULL) {
ret = mpm_table[det_ctx->sgh->mpm_stream_ctx_ts->mpm_type].
Search(det_ctx->sgh->mpm_stream_ctx_ts, &det_ctx->mtc, &det_ctx->pmq,
p->payload, p->payload_len);
- } else if (p->flowflags & FLOW_PKT_TOCLIENT && det_ctx->sgh->mpm_stream_ctx_tc != NULL) {
+ } else {
+ if (det_ctx->sgh->mpm_stream_ctx_tc == NULL)
+ SCReturnInt(0);
+
ret = mpm_table[det_ctx->sgh->mpm_stream_ctx_tc->mpm_type].
Search(det_ctx->sgh->mpm_stream_ctx_tc, &det_ctx->mtc, &det_ctx->pmq,
p->payload, p->payload_len);