diff options
author | Liping Zhang <zlpnobody@gmail.com> | 2016-11-21 08:18:23 -0500 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-11-24 08:43:35 -0500 |
commit | 49cdc4c74918a5576cb93b679629714d8a9ef399 (patch) | |
tree | f5b8f372a50787f8ca8b1d9aad1de6f8ed0eab33 /net | |
parent | d3e2a1110cae6ee5eeb1f9a97addf03e974f12e6 (diff) |
netfilter: nft_range: add the missing NULL pointer check
Otherwise, kernel panic will happen if the user does not specify
the related attributes.
Fixes: 0f3cd9b36977 ("netfilter: nf_tables: add range expression")
Signed-off-by: Liping Zhang <zlpnobody@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nft_range.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/netfilter/nft_range.c b/net/netfilter/nft_range.c index fbc88009ca2e..8f0aaaea1376 100644 --- a/net/netfilter/nft_range.c +++ b/net/netfilter/nft_range.c | |||
@@ -59,6 +59,12 @@ static int nft_range_init(const struct nft_ctx *ctx, const struct nft_expr *expr | |||
59 | int err; | 59 | int err; |
60 | u32 op; | 60 | u32 op; |
61 | 61 | ||
62 | if (!tb[NFTA_RANGE_SREG] || | ||
63 | !tb[NFTA_RANGE_OP] || | ||
64 | !tb[NFTA_RANGE_FROM_DATA] || | ||
65 | !tb[NFTA_RANGE_TO_DATA]) | ||
66 | return -EINVAL; | ||
67 | |||
62 | err = nft_data_init(NULL, &priv->data_from, sizeof(priv->data_from), | 68 | err = nft_data_init(NULL, &priv->data_from, sizeof(priv->data_from), |
63 | &desc_from, tb[NFTA_RANGE_FROM_DATA]); | 69 | &desc_from, tb[NFTA_RANGE_FROM_DATA]); |
64 | if (err < 0) | 70 | if (err < 0) |