diff options
author | Florian Westphal <fw@strlen.de> | 2017-02-19 22:59:42 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2017-02-27 17:10:53 +0100 |
commit | 1ef9ba3ecb4323a200015cfb5f91c6eb9972d32e (patch) | |
tree | d36e3d9845c970fec04eb873bcb7b12b0215e0a9 /src/object.c | |
parent | 03f1fc078e67b0137d3885d6701098101932f2d0 (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.c | 3 |
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) { |