ematch: Fix matching of inverted containers.
Negated expressions and sub-expressions need to have their flags checked for TCF_EM_INVERT and their result negated accordingly. Signed-off-by: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
73d3fe6d1c
commit
17c9c82326
@@ -526,9 +526,11 @@ pop_stack:
|
|||||||
match_idx = stack[--stackp];
|
match_idx = stack[--stackp];
|
||||||
cur_match = tcf_em_get_match(tree, match_idx);
|
cur_match = tcf_em_get_match(tree, match_idx);
|
||||||
|
|
||||||
if (tcf_em_early_end(cur_match, res))
|
if (tcf_em_early_end(cur_match, res)) {
|
||||||
|
if (tcf_em_is_inverted(cur_match))
|
||||||
|
res = !res;
|
||||||
goto pop_stack;
|
goto pop_stack;
|
||||||
else {
|
} else {
|
||||||
match_idx++;
|
match_idx++;
|
||||||
goto proceed;
|
goto proceed;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user