From f32d79dfe0ce98cbfc793a3e9ed78278315d70c3 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Mon, 5 Jan 2015 13:17:51 +0100 Subject: [PATCH] smtp: fix tx handling Fix issue where SMTPStateGetTxCnt would return the actual active tx'. The 'GetCnt' API call is not named correctly. It should be 'GetMaxId', as this is actually the expected behavior. --- src/app-layer-smtp.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/app-layer-smtp.c b/src/app-layer-smtp.c index 414a6e6721..91dd244c20 100644 --- a/src/app-layer-smtp.c +++ b/src/app-layer-smtp.c @@ -1254,20 +1254,13 @@ static void SMTPStateTransactionFree (void *state, uint64_t tx_id) } -/** \todo slow */ +/** \retval cnt highest tx id */ static uint64_t SMTPStateGetTxCnt(void *state) { uint64_t cnt = 0; SMTPState *smtp_state = state; if (smtp_state) { - SMTPTransaction *tx = NULL; - - if (smtp_state->curr_tx == NULL) - return 0ULL; - - TAILQ_FOREACH(tx, &smtp_state->tx_list, next) { - cnt++; - } + cnt = smtp_state->tx_cnt; } SCLogDebug("returning %"PRIu64, cnt); return cnt;