summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-11-29 21:34:31 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2016-11-29 21:41:06 +0100
commit3d72695a45af769302d0d1b8ab44d14b8d003e3f (patch)
treeba50ca57d4305ec3400bf0a7557a6fd2288674ec
parentd6457695ccd78a76dcf55eb10ec8da790abe2996 (diff)
expr: call expr->ops->snprintf only if defined
The notrack expression comes with no ->ops->snprintf, so skip this from nftnl_expr_snprintf() if not set. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/expr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 2779b3c..8d5c562 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -281,6 +281,9 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
int ret;
unsigned int offset = 0, len = size;
+ if (!expr->ops->snprintf)
+ return 0;
+
ret = expr->ops->snprintf(buf+offset, len, type, flags, expr);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);