diff options
author | Thomas Graf <tgraf@suug.ch> | 2014-08-01 17:25:38 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-08-01 18:14:49 +0200 |
commit | 0dc1362562a2e8b82a6be8d3ae307a234f28f9bc (patch) | |
tree | a08ecdf611c6900b521b3b15ff6e8c9222c7f9d5 /net | |
parent | 8452e6ff3efce76335eba9d29d2a5b3b524b9f1f (diff) | |
download | op-kernel-dev-0dc1362562a2e8b82a6be8d3ae307a234f28f9bc.zip op-kernel-dev-0dc1362562a2e8b82a6be8d3ae307a234f28f9bc.tar.gz |
netfilter: nf_tables: Avoid duplicate call to nft_data_uninit() for same key
nft_del_setelem() currently calls nft_data_uninit() twice on the same
key. Once to release the key which is guaranteed to be NFT_DATA_VALUE
and a second time in the error path to which it falls through.
The second call has been harmless so far though because the type
passed is always NFT_DATA_VALUE which is currently a no-op.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_tables_api.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 8746ff9..b35ba83 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -3218,6 +3218,7 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set, if (set->flags & NFT_SET_MAP) nft_data_uninit(&elem.data, set->dtype); + return 0; err2: nft_data_uninit(&elem.key, desc.type); err1: |