From 6842d4bba8fa596f6141f5abcbb7d0b636c76eb0 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Wed, 28 Feb 2018 12:05:01 -0300 Subject: [PATCH] Fix block-block infinite loop. Issue #1614 --- CHANGES | 2 ++ src/actions/disruptive/block.cc | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 8cf2417a..d733833c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ v3.0.x - YYYY-MMM-DD (To be released) ------------------------------------- + - Fix block-block infinite loop. + [Issue #1614 - @zimmerle, @michaelgranzow-avi] - Correction remove_by_tag and remove_by_msg logic. [Issue #1636 - @Minasu] - Fix LMDB compile error diff --git a/src/actions/disruptive/block.cc b/src/actions/disruptive/block.cc index 787c390c..3a80f4b8 100644 --- a/src/actions/disruptive/block.cc +++ b/src/actions/disruptive/block.cc @@ -37,7 +37,8 @@ bool Block::evaluate(Rule *rule, Transaction *transaction, #endif for (Action *a : transaction->m_rules->m_defaultActions[rule->m_phase]) { - if (a->isDisruptive() == false) { + if (a->isDisruptive() == false + || dynamic_cast(a) != NULL) { continue; } a->evaluate(rule, transaction, rm);