nftables/SOURCES/0296-segtree-replace-default-case-by-specific-types-in-ge.patch
2026-08-26 08:03:54 -04:00

52 lines
1.7 KiB
Diff

From 7ea5c5933662529f9c593dc2eb34bda3bbeaf3b3 Mon Sep 17 00:00:00 2001
From: Phil Sutter <psutter@redhat.com>
Date: Fri, 17 Jul 2026 11:20:22 +0200
Subject: [PATCH] segtree: replace default case by specific types in
get_set_intervals()
JIRA: https://issues.redhat.com/browse/RHEL-190549
Upstream Status: nftables commit 0188a0c971059150c7162444a3233d38abf0b843
commit 0188a0c971059150c7162444a3233d38abf0b843
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Thu Feb 5 03:41:25 2026 +0100
segtree: replace default case by specific types in get_set_intervals()
Use specific types, so default case can be left for catching bugs.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Phil Sutter <psutter@redhat.com>
---
src/segtree.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/segtree.c b/src/segtree.c
index 3f31176..2ad3db7 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -93,7 +93,10 @@ struct expr *get_set_intervals(const struct set *set, const struct expr *init)
case EXPR_SET_ELEM_CATCHALL:
compound_expr_add(new_init, expr_clone(i));
break;
- default:
+ case EXPR_PREFIX:
+ case EXPR_RANGE:
+ case EXPR_RANGE_VALUE:
+ case EXPR_MAPPING:
range_expr_value_low(low, i->key);
set_elem_expr_add(set, new_init, low, 0, i->byteorder);
range_expr_value_high(high, i->key);
@@ -101,6 +104,9 @@ struct expr *get_set_intervals(const struct set *set, const struct expr *init)
set_elem_expr_add(set, new_init, high,
EXPR_F_INTERVAL_END, i->byteorder);
break;
+ default:
+ BUG("unexpected expression %s", expr_name(i->key));
+ break;
}
}