projects
/
project
/
firewall3.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Fix processing of CIDRs with mask 0
[project/firewall3.git]
/
iptables.c
diff --git
a/iptables.c
b/iptables.c
index df0d70425eaf4cc48dd9c382f2a88d83477ea01e..7d91452ff6f455cd3551a08cbe38c1d1590109b3 100644
(file)
--- a/
iptables.c
+++ b/
iptables.c
@@
-609,7
+609,10
@@
fw3_ipt_rule_in_out(struct fw3_ipt_rule *r,
static void
ip4prefix2mask(int prefix, struct in_addr *mask)
{
- mask->s_addr = htonl(~((1 << (32 - prefix)) - 1));
+ if (prefix > 0)
+ mask->s_addr = htonl(~((1 << (32 - prefix)) - 1));
+ else
+ mask->s_addr = 0;
}
#ifndef DISABLE_IPV6