netfilter: nf_tables: Avoid duplicate call to nft_data_uninit() for same key
authorThomas Graf <tgraf@suug.ch>
Fri, 1 Aug 2014 15:25:38 +0000 (17:25 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 1 Aug 2014 16:14:49 +0000 (18:14 +0200)
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>
net/netfilter/nf_tables_api.c

index 8746ff9..b35ba83 100644 (file)
@@ -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: