0007-static-EAM.patch: use a better way to calculate mask.
Benda Xu
4 years ago
32 | 32 | int calc_ip4_mask(struct in_addr *mask, const struct in_addr *addr, int len) |
33 | 33 | { |
34 | 34 | - mask->s_addr = htonl(~((1 << (32 - len)) - 1)); |
35 | + if (len) { | |
36 | + mask->s_addr = htonl(~((1 << (32 - len)) - 1)); | |
37 | + } else { | |
38 | + /* len==0 */ | |
39 | + mask->s_addr = 0; | |
40 | + } | |
35 | + mask->s_addr = htonl(~(0xffffffff >> len)); | |
41 | 36 | if (addr && (addr->s_addr & ~mask->s_addr)) |
42 | 37 | return -1; |
43 | 38 | return 0; |