summaryrefslogtreecommitdiffstats
path: root/src/set.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-06-17 17:45:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-06-17 21:08:41 +0200
commit7ec0ea7e94afdc02e9ae96514caabae55bbe996c (patch)
tree49dddca6e58b356982cd87c8c172535e2376a83a /src/set.c
parent5164dff30957fe63bf124388388b2bca192a9e28 (diff)
src: set NFT_*_ATTR_FAMILY in nft_*_parse function
This attribute was not approapriately set in most cases. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/set.c')
-rw-r--r--src/set.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/set.c b/src/set.c
index 7550b39..6c59f28 100644
--- a/src/set.c
+++ b/src/set.c
@@ -169,6 +169,10 @@ void *nft_set_attr_get(struct nft_set *s, uint16_t attr)
if (s->flags & (1 << NFT_SET_ATTR_DATA_LEN))
return &s->data_len;
break;
+ case NFT_SET_ATTR_FAMILY:
+ if (s->flags & (1 << NFT_SET_ATTR_FAMILY))
+ return &s->family;
+ break;
default:
break;
}
@@ -297,6 +301,8 @@ int nft_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nft_set *s)
s->data_len = ntohl(mnl_attr_get_u32(tb[NFTA_SET_DATA_LEN]));
s->flags |= (1 << NFT_SET_ATTR_DATA_LEN);
}
+ s->family = nfg->nfgen_family;
+ s->flags |= (1 << NFT_SET_ATTR_FAMILY);
return ret;
}