Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netpfil/ipfw/ip_fw_sockopt.c
Show First 20 Lines • Show All 1,820 Lines • ▼ Show 20 Lines | case O_IP_DST_SET: | ||||
return EINVAL; | return EINVAL; | ||||
} | } | ||||
if (cmdlen != F_INSN_SIZE(ipfw_insn_u32) + | if (cmdlen != F_INSN_SIZE(ipfw_insn_u32) + | ||||
(cmd->arg1+31)/32 ) | (cmd->arg1+31)/32 ) | ||||
goto bad_size; | goto bad_size; | ||||
break; | break; | ||||
case O_IP_SRC_LOOKUP: | case O_IP_SRC_LOOKUP: | ||||
if (cmdlen > F_INSN_SIZE(ipfw_insn_u32)) | |||||
goto bad_size; | |||||
case O_IP_DST_LOOKUP: | case O_IP_DST_LOOKUP: | ||||
if (cmd->arg1 >= V_fw_tables_max) { | if (cmd->arg1 >= V_fw_tables_max) { | ||||
printf("ipfw: invalid table number %d\n", | printf("ipfw: invalid table number %d\n", | ||||
cmd->arg1); | cmd->arg1); | ||||
return (EINVAL); | return (EINVAL); | ||||
} | } | ||||
if (cmdlen != F_INSN_SIZE(ipfw_insn) && | if (cmdlen != F_INSN_SIZE(ipfw_insn) && | ||||
cmdlen != F_INSN_SIZE(ipfw_insn_u32) + 1 && | cmdlen != F_INSN_SIZE(ipfw_insn_u32) + 1 && | ||||
▲ Show 20 Lines • Show All 2,784 Lines • Show Last 20 Lines |