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>
This commit is contained in:
parent
55f9c40ff6
commit
00fe1ae91e
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user