|
@@ -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)
|