=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/netstat/show.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- src/usr.bin/netstat/show.c 2009/04/28 12:09:36 1.21 +++ src/usr.bin/netstat/show.c 2009/05/23 17:03:06 1.22 @@ -1,4 +1,4 @@ -/* $OpenBSD: show.c,v 1.21 2009/04/28 12:09:36 michele Exp $ */ +/* $OpenBSD: show.c,v 1.22 2009/05/23 17:03:06 chris Exp $ */ /* $NetBSD: show.c,v 1.1 1996/11/15 18:01:41 gwr Exp $ */ /* @@ -150,7 +150,7 @@ rtm = (struct rt_msghdr *)next; if (rtm->rtm_version != RTM_VERSION) continue; - sa = (struct sockaddr *)(rtm + 1); + sa = (struct sockaddr *)(next + rtm->hdrlen); if (af != AF_UNSPEC && sa->sa_family != af) continue; p_rtentry(rtm); @@ -275,7 +275,7 @@ p_rtentry(struct rt_msghdr *rtm) { static int old_af = -1; - struct sockaddr *sa = (struct sockaddr *)(rtm + 1); + struct sockaddr *sa = (struct sockaddr *)((char *)rtm + rtm->rtm_hdrlen); struct sockaddr *mask, *rti_info[RTAX_MAX]; char ifbuf[IF_NAMESIZE];