[MEDIUM] Correct ipmask() logic
The netmask applied to table entries as configured using ipmask() is
stored in arg_p->data.ip not arg_i (which will be 1 if the netmask is set).
diff --git a/src/pattern.c b/src/pattern.c
index e705f00..59ff010 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -556,7 +556,7 @@
/* takes the netmask in arg_i */
static int pattern_conv_ipmask(const struct pattern_arg *arg_p, int arg_i, union pattern_data *data)
{
- data->ip.s_addr &= arg_i;
+ data->ip.s_addr &= arg_p->data.ip.s_addr;
return 1;
}