summaryrefslogtreecommitdiffstats
path: root/src/netlink_delinearize.c
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2021-05-20 15:11:37 +0200
committerPhil Sutter <phil@nwl.cc>2021-05-20 16:55:02 +0200
commit113ed02e1e69b53e145f92db1c8a0a5bf1e742f4 (patch)
treea57facd7bc0f040d43c2fe0d43058d79ff2733a0 /src/netlink_delinearize.c
parent91eacf6ae9d57b52ad6e945b91d749c4db0d2b23 (diff)
expr_postprocess: Avoid an unintended fall through
Parsing a range expression, the switch case fell through to prefix expression case, thereby recursing once more for expr->left. This seems not to have caused harm, but is certainly not intended. Fixes: ee4391d0ac1e7 ("nat: transform range to prefix expression when possible") Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src/netlink_delinearize.c')
-rw-r--r--src/netlink_delinearize.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index 75869d33..a71d06d7 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -2450,6 +2450,7 @@ static void expr_postprocess(struct rule_pp_ctx *ctx, struct expr **exprp)
case EXPR_RANGE:
expr_postprocess(ctx, &expr->left);
expr_postprocess(ctx, &expr->right);
+ break;
case EXPR_PREFIX:
expr_postprocess(ctx, &expr->prefix);
break;