summaryrefslogtreecommitdiffstats
path: root/src/object.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2017-02-19 22:59:42 +0100
committerFlorian Westphal <fw@strlen.de>2017-02-27 17:10:53 +0100
commit1ef9ba3ecb4323a200015cfb5f91c6eb9972d32e (patch)
treed36e3d9845c970fec04eb873bcb7b12b0215e0a9 /src/object.c
parent03f1fc078e67b0137d3885d6701098101932f2d0 (diff)
object: fix crash when object ops is null
when debugging nft with invalid object type (during development), this will crash here with null deref. Print (unknown) instead if obj->ops is null. Signed-off-by: Florian Westphal <fw@strlen.de> Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/object.c')
-rw-r--r--src/object.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/object.c b/src/object.c
index 62fa48a..773eff6 100644
--- a/src/object.c
+++ b/src/object.c
@@ -396,10 +396,11 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
const struct nftnl_obj *obj,
uint32_t type, uint32_t flags)
{
+ const char *name = obj->ops ? obj->ops->name : "(unknown)";
int ret, len = size, offset = 0;
ret = snprintf(buf, size, "table %s name %s use %u [ %s ",
- obj->table, obj->name, obj->use, obj->ops->name);
+ obj->table, obj->name, obj->use, name);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (obj->ops) {