summaryrefslogtreecommitdiffstats
path: root/src/expression.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-05-24 22:05:02 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-05-24 22:16:14 +0200
commitcc285973eeeebfa44b61f4ba2f8a5648a52d401e (patch)
tree0895b300ce5792439b34a8ea7a9f97b3367d0b53 /src/expression.c
parent3b4f35eee51884f581223188a71f84ef782eb726 (diff)
expression: display an error on unknown datatype
# nft describe foo datatype foo is invalid Fixes: 21cbab5b6ffe ("expression: extend 'nft describe' to allow listing data types") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/expression.c')
-rw-r--r--src/expression.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/expression.c b/src/expression.c
index 7ae075d2..c9133363 100644
--- a/src/expression.c
+++ b/src/expression.c
@@ -135,9 +135,12 @@ void expr_describe(const struct expr *expr, struct output_ctx *octx)
nft_print(octx, "datatype %s (%s)",
dtype->name, dtype->desc);
len = dtype->size;
- } else {
+ } else if (dtype != &invalid_type) {
nft_print(octx, "%s expression, datatype %s (%s)",
expr_name(expr), dtype->name, dtype->desc);
+ } else {
+ nft_print(octx, "datatype %s is invalid\n", expr->identifier);
+ return;
}
if (dtype->basetype != NULL) {