回退iptables

Signed-off-by: hhd227 <3216023252@qq.com>
This commit is contained in:
hhd227
2026-02-25 21:12:19 +08:00
parent 65707db4d1
commit 0f5df4e186
+7 -11
View File
@@ -145,11 +145,8 @@ static size_t xtopt_esize_by_type(enum xt_option_type type)
case XTTYPE_UINT64RC:
return xtopt_psize[XTTYPE_UINT64];
default:
break;
}
if (type < ARRAY_SIZE(xtopt_psize))
return xtopt_psize[type];
return 0;
}
}
static uint64_t htonll(uint64_t val)
@@ -889,8 +886,6 @@ void xtables_option_parse(struct xt_option_call *cb)
void xtables_option_metavalidate(const char *name,
const struct xt_option_entry *entry)
{
size_t psize;
for (; entry->name != NULL; ++entry) {
if (entry->id >= CHAR_BIT * sizeof(unsigned int) ||
entry->id >= XT_OPTION_OFFSET_SCALE)
@@ -905,18 +900,19 @@ void xtables_option_metavalidate(const char *name,
"Oversight?", name, entry->name);
continue;
}
psize = xtopt_esize_by_type(entry->type);
if (!psize)
if (entry->type >= ARRAY_SIZE(xtopt_psize) ||
xtopt_psize[entry->type] == 0)
xt_params->exit_err(OTHER_PROBLEM,
"%s: entry type of option \"--%s\" cannot be "
"combined with XTOPT_PUT\n",
name, entry->name);
else if (psize != -1 && psize != entry->size)
if (xtopt_psize[entry->type] != -1 &&
xtopt_psize[entry->type] != entry->size)
xt_params->exit_err(OTHER_PROBLEM,
"%s: option \"--%s\" points to a memory block "
"of wrong size (expected %zu, got %zu)\n",
name, entry->name, psize, entry->size);
name, entry->name,
xtopt_psize[entry->type], entry->size);
}
}