diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2019-05-01 17:01:08 -0500 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-05-06 01:03:04 +0200 |
commit | eabb47821910af418c7d6e602f5745cf5dedbd6a (patch) | |
tree | 5afc01f60a5b90bd064c49d4997bb0d458886748 /net/netfilter | |
parent | 1de6f3342191e4e4da10919818126d4629f6ee66 (diff) | |
download | linux-eabb47821910af418c7d6e602f5745cf5dedbd6a.tar.gz linux-eabb47821910af418c7d6e602f5745cf5dedbd6a.tar.bz2 linux-eabb47821910af418c7d6e602f5745cf5dedbd6a.zip |
netfilter: xt_hashlimit: use struct_size() helper
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes, in particular in the
context in which this code is being used.
So, replace code of the following form:
sizeof(struct xt_hashlimit_htable) + sizeof(struct hlist_head) * size
with:
struct_size(hinfo, hash, size)
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r-- | net/netfilter/xt_hashlimit.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c index 8d86e39d6280..a30536b17ee1 100644 --- a/net/netfilter/xt_hashlimit.c +++ b/net/netfilter/xt_hashlimit.c @@ -288,8 +288,7 @@ static int htable_create(struct net *net, struct hashlimit_cfg3 *cfg, size = 16; } /* FIXME: don't use vmalloc() here or anywhere else -HW */ - hinfo = vmalloc(sizeof(struct xt_hashlimit_htable) + - sizeof(struct hlist_head) * size); + hinfo = vmalloc(struct_size(hinfo, hash, size)); if (hinfo == NULL) return -ENOMEM; *out_hinfo = hinfo; |