aboutsummaryrefslogtreecommitdiff
path: root/sys/net
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2004-04-18 19:38:20 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2004-04-18 19:38:20 +0000
commitae24a36e7838d18f121b2c00a43ae9a36b39d872 (patch)
tree2887e64076096b811e4f4487cb8f0a8409244ea1 /sys/net
parentb088717c11593ab67638ac1ba2da4d6508a7a929 (diff)
Notes
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/rtsock.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index 58673afc11e8a..449b4cb16817f 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -326,10 +326,10 @@ route_output(struct mbuf *m, struct socket *so)
if (info.rti_info[RTAX_GENMASK]) {
struct radix_node *t;
t = rn_addmask((caddr_t) info.rti_info[RTAX_GENMASK], 0, 1);
- /* XXX why this odd cast to (caddr_t *) ? Maybe wrong ? */
- if (t && bcmp((caddr_t)info.rti_info[RTAX_GENMASK] + 1,
- (caddr_t)t->rn_key + 1,
- *(u_char *)t->rn_key - 1) == 0)
+ if (t != NULL &&
+ bcmp((caddr_t)info.rti_info[RTAX_GENMASK] + 1,
+ (caddr_t)t->rn_key + 1,
+ ((struct sockaddr *)(t->rn_key))->sa_len - 1) == 0)
info.rti_info[RTAX_GENMASK] =
(struct sockaddr *)(t->rn_key);
else