Codebase list tayga / 062d9d5
0007-static-EAM.patch: use a better way to calculate mask. Benda Xu 4 years ago
1 changed file(s) with 1 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
3232 int calc_ip4_mask(struct in_addr *mask, const struct in_addr *addr, int len)
3333 {
3434 - 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));
4136 if (addr && (addr->s_addr & ~mask->s_addr))
4237 return -1;
4338 return 0;