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).
---
 src/pattern.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

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 @@ static int pattern_conv_str2upper(const struct pattern_arg 
*arg_p, int arg_i, un
 /* 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;
 }
 
-- 
1.7.5.4


Reply via email to