diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-07-29 16:24:46 +0200 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2011-07-29 16:24:46 +0200 |
commit | 00fe1ae91e0d69e52e8212d23cd3ecc74a7259a0 (patch) | |
tree | efe77e777825ac80a19e05eedd75758a138ae424 | |
parent | 55f9c40ff632d03c527d6a6ceddcda0a224587a6 (diff) | |
download | linux-00fe1ae91e0d69e52e8212d23cd3ecc74a7259a0.tar.bz2 |
netfilter: xt_rateest: fix xt_rateest_mt_checkentry()
commit 4a5a5c73b7cfee (slightly better error reporting) added some
useless code in xt_rateest_mt_checkentry().
Fix this so that different error codes can really be returned.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r-- | net/netfilter/xt_rateest.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/netfilter/xt_rateest.c b/net/netfilter/xt_rateest.c index 76a083184d8e..ed0db15ab00e 100644 --- a/net/netfilter/xt_rateest.c +++ b/net/netfilter/xt_rateest.c @@ -78,7 +78,7 @@ static int xt_rateest_mt_checkentry(const struct xt_mtchk_param *par) { struct xt_rateest_match_info *info = par->matchinfo; struct xt_rateest *est1, *est2; - int ret = false; + int ret = -EINVAL; if (hweight32(info->flags & (XT_RATEEST_MATCH_ABS | XT_RATEEST_MATCH_REL)) != 1) @@ -101,13 +101,12 @@ static int xt_rateest_mt_checkentry(const struct xt_mtchk_param *par) if (!est1) goto err1; + est2 = NULL; if (info->flags & XT_RATEEST_MATCH_REL) { est2 = xt_rateest_lookup(info->name2); if (!est2) goto err2; - } else - est2 = NULL; - + } info->est1 = est1; info->est2 = est2; @@ -116,7 +115,7 @@ static int xt_rateest_mt_checkentry(const struct xt_mtchk_param *par) err2: xt_rateest_put(est1); err1: - return -EINVAL; + return ret; } static void xt_rateest_mt_destroy(const struct xt_mtdtor_param *par) |