diff options
author | ru <ru@FreeBSD.org> | 2000-09-29 10:37:16 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2000-09-29 10:37:16 +0000 |
commit | d9dc1e970197c4e708688d2f33ce5d12f25cb3e6 (patch) | |
tree | 62c19fd220c31bf867ab002e123cac950f8ece3e /sbin | |
parent | 105baa72f008f1d1a81329e845baa246d73f5d81 (diff) | |
download | FreeBSD-src-d9dc1e970197c4e708688d2f33ce5d12f25cb3e6.zip FreeBSD-src-d9dc1e970197c4e708688d2f33ce5d12f25cb3e6.tar.gz |
Fixed the case where argument of 0.0.0.0/8 would match the default route.
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/route/route.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c index a25ee24..edbc434 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -760,12 +760,12 @@ inet_makenetandmask(net, sin, bits) register char *cp; rtm_addrs |= RTA_NETMASK; - if (net == 0) - mask = addr = 0; - else if (bits) { + if (bits) { addr = net; mask = 0xffffffff << (32 - bits); - } else if (net < 128) { + } else if (net == 0) + mask = addr = 0; + else if (net < 128) { addr = net << IN_CLASSA_NSHIFT; mask = IN_CLASSA_NET; } else if (net < 65536) { |