@ -922,6 +922,7 @@ void AppLayerParserTransactionsCleanup(Flow *f)
if ( ires . tx_ptr = = NULL )
break ;
bool tx_skipped = false ;
void * tx = ires . tx_ptr ;
i = ires . tx_id ; // actual tx id for the tx the IterFunc returned
@ -950,7 +951,7 @@ void AppLayerParserTransactionsCleanup(Flow *f)
if ( ! ( detect_flags_ts & APP_LAYER_TX_INSPECTED_FLAG ) ) {
SCLogDebug ( " %p/% " PRIu64 " skipping: TS inspect not done: ts:% " PRIx64 ,
tx , i , detect_flags_ts ) ;
skipped = true ;
tx_skipped = skipped = true ;
} else {
inspected = true ;
}
@ -960,7 +961,7 @@ void AppLayerParserTransactionsCleanup(Flow *f)
if ( ! ( detect_flags_tc & APP_LAYER_TX_INSPECTED_FLAG ) ) {
SCLogDebug ( " %p/% " PRIu64 " skipping: TC inspect not done: tc:% " PRIx64 ,
tx , i , detect_flags_tc ) ;
skipped = true ;
tx_skipped = skipped = true ;
} else {
inspected = true ;
}
@ -969,7 +970,8 @@ void AppLayerParserTransactionsCleanup(Flow *f)
// If not a unidirectional transaction both sides are required to have
// been inspected.
if ( ! is_unidir & & skipped ) {
if ( ! is_unidir & & tx_skipped ) {
SCLogDebug ( " %p/% " PRIu64 " !is_unidir && tx_skipped " , tx , i ) ;
goto next ;
}
@ -977,7 +979,8 @@ void AppLayerParserTransactionsCleanup(Flow *f)
// inspected, which the inspected flag tells us. This is also guarded
// with skip to limit this check to transactions that actually had the
// tx inspected flag checked.
if ( is_unidir & & skipped & & ! inspected ) {
if ( is_unidir & & tx_skipped & & ! inspected ) {
SCLogDebug ( " %p/% " PRIu64 " is_unidir && tx_skipped && !inspected " , tx , i ) ;
goto next ;
}