Fix setfib target.
Problem was introduced in r272840 when converting tablearg value to 0. Submitted by: Denis Schneider <v1ne2go at gmail>
This commit is contained in:
parent
6017eab6e9
commit
2eab7c29ca
@ -2476,7 +2476,7 @@ do { \
|
||||
uint32_t fib;
|
||||
|
||||
IPFW_INC_RULE_COUNTER(f, pktlen);
|
||||
fib = TARG(cmd->arg1, fib) & 0x7FFFF;
|
||||
fib = TARG(cmd->arg1, fib) & 0x7FFF;
|
||||
if (fib >= rt_numfibs)
|
||||
fib = 0;
|
||||
M_SETFIB(m, fib);
|
||||
|
@ -1497,9 +1497,9 @@ check_ipfw_rule_body(ipfw_insn *cmd, int cmd_len, struct rule_check_info *ci)
|
||||
if (cmdlen != F_INSN_SIZE(ipfw_insn))
|
||||
goto bad_size;
|
||||
if ((cmd->arg1 != IP_FW_TARG) &&
|
||||
((cmd->arg1 & 0x7FFFF) >= rt_numfibs)) {
|
||||
((cmd->arg1 & 0x7FFF) >= rt_numfibs)) {
|
||||
printf("ipfw: invalid fib number %d\n",
|
||||
cmd->arg1 & 0x7FFFF);
|
||||
cmd->arg1 & 0x7FFF);
|
||||
return EINVAL;
|
||||
}
|
||||
goto check_action;
|
||||
|
Loading…
x
Reference in New Issue
Block a user