mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 04:42:12 +00:00
netfilter: xt_rateest: fix xt_rateest_mt_checkentry()
commit 4a5a5c73b7
(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…
Reference in New Issue
Block a user