]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
src: Fix literal check for inet_service type
authorPhil Sutter <phil@nwl.cc>
Mon, 10 Sep 2018 14:18:10 +0000 (16:18 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 10 Sep 2018 14:25:03 +0000 (16:25 +0200)
Since literal option is supposed to be a level, matching for equality is
not correct here since the level may be higher than NFT_LITERAL_PORT.

This fixes for ports being printed numerically if '-l' option was given
twice.

Fixes: b0f6a45b25dd1 ("src: add --literal option")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/datatype.c

index bc3df214074c13f1e98cdbcd2bfc3cc8397619d3..50af3df04f744ffb4f457ad956bc932516e45477 100644 (file)
@@ -648,7 +648,7 @@ static void inet_service_print(const struct expr *expr, struct output_ctx *octx)
 
 void inet_service_type_print(const struct expr *expr, struct output_ctx *octx)
 {
-       if (octx->literal == NFT_LITERAL_PORT) {
+       if (octx->literal >= NFT_LITERAL_PORT) {
                inet_service_print(expr, octx);
                return;
        }