Subject: kern/6796: partial bcopy->memcpy conversion for sys/net
To: None <gnats-bugs@gnats.netbsd.org>
From: None <erik@mediator.uni-c.dk>
List: netbsd-bugs
Date: 01/12/1999 23:38:03
>Number:         6796
>Category:       kern
>Synopsis:       partial bcopy->memcpy conversion for sys/net
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 12 14:50:02 1999
>Last-Modified:
>Originator:     Erik Bertelsen
>Organization:
	
>Release:        NetBSD-current 12 Jan 1999
>Environment:
	
System: NetBSD q610.ebe.uni-c.dk 1.3I NetBSD 1.3I (Q610) #90: Tue Jan 12 20:15:14 MET 1999 erik@q610.ebe.uni-c.dk:/home/src/sys/arch/mac68k/compile/Q610 mac68k
(really NetBSD/macppc)

>Description:
	In my home-grown linux based cross compilation setup for NetBSD/macppc, I have made the patches
	below to change calls of bcopy into equivalent calls to memcpy in some of the files in
	sys/net/, but some files still remain untouched (because they are not used in my kernel). 
	I send these patches to assist in the ongoing bxxx->memxxx conversion of the kernel
	sources. If this assistance is unwanted or collides with other work, a discrete hint
	to me will stop me in sending further PR's in this area.
	Notice that I have not done anything to remove the redundant typecasts to many of
	the arguments to memcpy, this can be done lateron, or (if wanted) I can supply an
	update of my patch with my suggestions for which typecasts should be removed.

	best regards
	Erik Bertelsen
>How-To-Repeat:
	
>Fix:
Index: if.c
===================================================================
RCS file: /home/cvs-base/src/sys/net/if.c,v
retrieving revision 1.1.1.10
diff -c -r1.1.1.10 if.c
*** if.c	1998/12/11 18:24:40	1.1.1.10
--- if.c	1999/01/12 22:15:32
***************
*** 97,103 ****
  		struct ifaddr **q = (struct ifaddr **)
  					malloc(n, M_IFADDR, M_WAITOK);
  		if (ifnet_addrs) {
! 			bcopy((caddr_t)ifnet_addrs, (caddr_t)q, n/2);
  			free((caddr_t)ifnet_addrs, M_IFADDR);
  		}
  		ifnet_addrs = q;
--- 97,103 ----
  		struct ifaddr **q = (struct ifaddr **)
  					malloc(n, M_IFADDR, M_WAITOK);
  		if (ifnet_addrs) {
! 			memcpy((caddr_t)q, (caddr_t)ifnet_addrs, n/2);
  			free((caddr_t)ifnet_addrs, M_IFADDR);
  		}
  		ifnet_addrs = q;
***************
*** 118,124 ****
  	sdl = (struct sockaddr_dl *)(ifa + 1);
  	sdl->sdl_len = socksize;
  	sdl->sdl_family = AF_LINK;
! 	bcopy(ifp->if_xname, sdl->sdl_data, namelen);
  	sdl->sdl_nlen = namelen;
  	sdl->sdl_index = ifp->if_index;
  	sdl->sdl_type = ifp->if_type;
--- 118,124 ----
  	sdl = (struct sockaddr_dl *)(ifa + 1);
  	sdl->sdl_len = socksize;
  	sdl->sdl_family = AF_LINK;
! 	memcpy(sdl->sdl_data, ifp->if_xname, namelen);
  	sdl->sdl_nlen = namelen;
  	sdl->sdl_index = ifp->if_index;
  	sdl->sdl_type = ifp->if_type;
***************
*** 591,597 ****
  	ifrp = ifc->ifc_req;
  	for (ifp = ifnet.tqh_first;
  	    space >= sizeof (ifr) && ifp != 0; ifp = ifp->if_list.tqe_next) {
! 		bcopy(ifp->if_xname, ifr.ifr_name, IFNAMSIZ);
  		if ((ifa = ifp->if_addrlist.tqh_first) == 0) {
  			bzero((caddr_t)&ifr.ifr_addr, sizeof(ifr.ifr_addr));
  			error = copyout((caddr_t)&ifr, (caddr_t)ifrp,
--- 591,597 ----
  	ifrp = ifc->ifc_req;
  	for (ifp = ifnet.tqh_first;
  	    space >= sizeof (ifr) && ifp != 0; ifp = ifp->if_list.tqe_next) {
! 		memcpy(ifr.ifr_name, ifp->if_xname, IFNAMSIZ);
  		if ((ifa = ifp->if_addrlist.tqh_first) == 0) {
  			bzero((caddr_t)&ifr.ifr_addr, sizeof(ifr.ifr_addr));
  			error = copyout((caddr_t)&ifr, (caddr_t)ifrp,
Index: if_ethersubr.c
===================================================================
RCS file: /home/cvs-base/src/sys/net/if_ethersubr.c,v
retrieving revision 1.1.1.13
diff -c -r1.1.1.13 if_ethersubr.c
*** if_ethersubr.c	1998/12/11 18:24:42	1.1.1.13
--- if_ethersubr.c	1999/01/12 22:15:32
***************
*** 180,187 ****
  #ifdef INET
  	case AF_INET:
  		if (m->m_flags & M_BCAST)
!                 	bcopy((caddr_t)etherbroadcastaddr, (caddr_t)edst,
! 				sizeof(edst));
  
  		else if (m->m_flags & M_MCAST) {
  			ETHER_MAP_IP_MULTICAST(&SIN(dst)->sin_addr,
--- 180,187 ----
  #ifdef INET
  	case AF_INET:
  		if (m->m_flags & M_BCAST)
!                 	memcpy((caddr_t)edst, (caddr_t)etherbroadcastaddr,
! 			       sizeof(edst));
  
  		else if (m->m_flags & M_MCAST) {
  			ETHER_MAP_IP_MULTICAST(&SIN(dst)->sin_addr,
***************
*** 198,208 ****
  	case AF_ARP:
  		ah = mtod(m, struct arphdr *);
  		if (m->m_flags & M_BCAST)
!                 	bcopy((caddr_t)etherbroadcastaddr, (caddr_t)edst,
! 				sizeof(edst));
  		else
! 			bcopy((caddr_t)ar_tha(ah),
! 				(caddr_t)edst, sizeof(edst));
  		
  		ah->ar_hrd = htons(ARPHRD_ETHER);
  
--- 198,208 ----
  	case AF_ARP:
  		ah = mtod(m, struct arphdr *);
  		if (m->m_flags & M_BCAST)
!                 	memcpy((caddr_t)edst, (caddr_t)etherbroadcastaddr,
! 			       sizeof(edst));
  		else
! 			memcpy((caddr_t)edst, (caddr_t)ar_tha(ah),
! 			       sizeof(edst));
  		
  		ah->ar_hrd = htons(ARPHRD_ETHER);
  
***************
*** 248,257 ****
  			M_PREPEND(m, sizeof(struct llc), M_WAIT);
  			llc.llc_dsap = llc.llc_ssap = LLC_SNAP_LSAP;
  			llc.llc_control = LLC_UI;
! 			bcopy(at_org_code, llc.llc_snap_org_code,
! 			    sizeof(llc.llc_snap_org_code));
  			llc.llc_snap_ether_type = htons(ETHERTYPE_ATALK);
! 			bcopy(&llc, mtod(m, caddr_t), sizeof(struct llc));
  			etype = htons(m->m_pkthdr.len);
  		} else {
  			etype = htons(ETHERTYPE_ATALK);
--- 248,257 ----
  			M_PREPEND(m, sizeof(struct llc), M_WAIT);
  			llc.llc_dsap = llc.llc_ssap = LLC_SNAP_LSAP;
  			llc.llc_control = LLC_UI;
! 			memcpy(llc.llc_snap_org_code, at_org_code,
! 			       sizeof(llc.llc_snap_org_code));
  			llc.llc_snap_ether_type = htons(ETHERTYPE_ATALK);
! 			memcpy(mtod(m, caddr_t), &llc, sizeof(struct llc));
  			etype = htons(m->m_pkthdr.len);
  		} else {
  			etype = htons(ETHERTYPE_ATALK);
***************
*** 261,268 ****
  #ifdef NS
  	case AF_NS:
  		etype = htons(ETHERTYPE_NS);
!  		bcopy((caddr_t)&(((struct sockaddr_ns *)dst)->sns_addr.x_host),
! 		    (caddr_t)edst, sizeof (edst));
  		if (!bcmp((caddr_t)edst, (caddr_t)&ns_thishost, sizeof(edst)))
  			return (looutput(ifp, m, dst, rt));
  		/* If broadcasting on a simplex interface, loopback a copy */
--- 261,268 ----
  #ifdef NS
  	case AF_NS:
  		etype = htons(ETHERTYPE_NS);
!  		memcpy((caddr_t)edst, (caddr_t)&(((struct sockaddr_ns *)dst)->sns_addr.x_host),
! 		       sizeof (edst));
  		if (!bcmp((caddr_t)edst, (caddr_t)&ns_thishost, sizeof(edst)))
  			return (looutput(ifp, m, dst, rt));
  		/* If broadcasting on a simplex interface, loopback a copy */
***************
*** 273,280 ****
  #ifdef IPX
  	case AF_IPX:
  		etype = htons(ETHERTYPE_IPX);
!  		bcopy((caddr_t)&(((struct sockaddr_ipx *)dst)->sipx_addr.x_host),
! 		    (caddr_t)edst, sizeof (edst));
  		/* If broadcasting on a simplex interface, loopback a copy */
  		if ((m->m_flags & M_BCAST) && (ifp->if_flags & IFF_SIMPLEX))
  			mcopy = m_copy(m, 0, (int)M_COPYALL);
--- 273,280 ----
  #ifdef IPX
  	case AF_IPX:
  		etype = htons(ETHERTYPE_IPX);
!  		memcpy((caddr_t)edst, (caddr_t)&(((struct sockaddr_ipx *)dst)->sipx_addr.x_host),
! 		       sizeof (edst));
  		/* If broadcasting on a simplex interface, loopback a copy */
  		if ((m->m_flags & M_BCAST) && (ifp->if_flags & IFF_SIMPLEX))
  			mcopy = m_copy(m, 0, (int)M_COPYALL);
***************
*** 288,294 ****
  
  		if (rt && (sdl = (struct sockaddr_dl *)rt->rt_gateway) &&
  		    sdl->sdl_family == AF_LINK && sdl->sdl_alen > 0) {
! 			bcopy(LLADDR(sdl), (caddr_t)edst, sizeof(edst));
  		} else {
  			error = iso_snparesolve(ifp, (struct sockaddr_iso *)dst,
  						(char *)edst, &snpalen);
--- 288,294 ----
  
  		if (rt && (sdl = (struct sockaddr_dl *)rt->rt_gateway) &&
  		    sdl->sdl_family == AF_LINK && sdl->sdl_alen > 0) {
! 			memcpy((caddr_t)edst, LLADDR(sdl), sizeof(edst));
  		} else {
  			error = iso_snparesolve(ifp, (struct sockaddr_iso *)dst,
  						(char *)edst, &snpalen);
***************
*** 303,312 ****
  			M_PREPEND(mcopy, sizeof (*eh), M_DONTWAIT);
  			if (mcopy) {
  				eh = mtod(mcopy, struct ether_header *);
! 				bcopy((caddr_t)edst,
! 				      (caddr_t)eh->ether_dhost, sizeof (edst));
! 				bcopy(LLADDR(ifp->if_sadl),
! 				      (caddr_t)eh->ether_shost, sizeof (edst));
  			}
  		}
  		M_PREPEND(m, 3, M_DONTWAIT);
--- 303,310 ----
  			M_PREPEND(mcopy, sizeof (*eh), M_DONTWAIT);
  			if (mcopy) {
  				eh = mtod(mcopy, struct ether_header *);
! 				memcpy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst));
! 				memcpy((caddr_t)eh->ether_shost, LLADDR(ifp->if_sadl), sizeof (edst));
  			}
  		}
  		M_PREPEND(m, 3, M_DONTWAIT);
***************
*** 335,352 ****
  
  		if (sdl && sdl->sdl_family == AF_LINK
  		    && sdl->sdl_alen > 0) {
! 			bcopy(LLADDR(sdl), (char *)edst,
! 				sizeof(edst));
  		} else goto bad; /* Not a link interface ? Funny ... */
  		if ((ifp->if_flags & IFF_SIMPLEX) && (*edst & 1) &&
  		    (mcopy = m_copy(m, 0, (int)M_COPYALL))) {
  			M_PREPEND(mcopy, sizeof (*eh), M_DONTWAIT);
  			if (mcopy) {
  				eh = mtod(mcopy, struct ether_header *);
! 				bcopy((caddr_t)edst,
! 				      (caddr_t)eh->ether_dhost, sizeof (edst));
! 				bcopy(LLADDR(ifp->if_sadl),
! 				      (caddr_t)eh->ether_shost, sizeof (edst));
  			}
  		}
  		etype = htons(m->m_pkthdr.len);
--- 333,347 ----
  
  		if (sdl && sdl->sdl_family == AF_LINK
  		    && sdl->sdl_alen > 0) {
! 			memcpy((char *edst), LLADDR(sdl), sizeof(edst));
  		} else goto bad; /* Not a link interface ? Funny ... */
  		if ((ifp->if_flags & IFF_SIMPLEX) && (*edst & 1) &&
  		    (mcopy = m_copy(m, 0, (int)M_COPYALL))) {
  			M_PREPEND(mcopy, sizeof (*eh), M_DONTWAIT);
  			if (mcopy) {
  				eh = mtod(mcopy, struct ether_header *);
! 				memcpy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst));
! 				memcpy((caddr_t)eh->ether_shost, LLADDR(ifp->if_sadl), sizeof (edst));
  			}
  		}
  		etype = htons(m->m_pkthdr.len);
***************
*** 370,381 ****
  	case pseudo_AF_HDRCMPLT:
  		hdrcmplt = 1;
  		eh = (struct ether_header *)dst->sa_data;
! 		bcopy((caddr_t)eh->ether_shost, (caddr_t)esrc, sizeof (esrc));
  		/* FALLTHROUGH */
  
  	case AF_UNSPEC:
  		eh = (struct ether_header *)dst->sa_data;
!  		bcopy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst));
  		/* AF_UNSPEC doesn't swap the byte order of the ether_type. */
  		etype = eh->ether_type;
  		break;
--- 365,376 ----
  	case pseudo_AF_HDRCMPLT:
  		hdrcmplt = 1;
  		eh = (struct ether_header *)dst->sa_data;
! 		memcpy((caddr_t)esrc, (caddr_t)eh->ether_shost, sizeof (esrc));
  		/* FALLTHROUGH */
  
  	case AF_UNSPEC:
  		eh = (struct ether_header *)dst->sa_data;
!  		memcpy((caddr_t)edst, (caddr_t)eh->ether_dhost, sizeof (edst));
  		/* AF_UNSPEC doesn't swap the byte order of the ether_type. */
  		etype = eh->ether_type;
  		break;
***************
*** 397,411 ****
  	if (m == 0)
  		senderr(ENOBUFS);
  	eh = mtod(m, struct ether_header *);
! 	bcopy((caddr_t)&etype,(caddr_t)&eh->ether_type,
! 		sizeof(eh->ether_type));
!  	bcopy((caddr_t)edst, (caddr_t)eh->ether_dhost, sizeof (edst));
  	if (hdrcmplt)
! 		bcopy((caddr_t)esrc, (caddr_t)eh->ether_shost,
! 		    sizeof(eh->ether_shost));
  	else
! 	 	bcopy(LLADDR(ifp->if_sadl), (caddr_t)eh->ether_shost,
! 		    sizeof(eh->ether_shost));
  	s = splimp();
  	/*
  	 * Queue message on interface, and start output if interface
--- 392,406 ----
  	if (m == 0)
  		senderr(ENOBUFS);
  	eh = mtod(m, struct ether_header *);
! 	memcpy((caddr_t)&eh->ether_type, (caddr_t)&etype,
! 	       sizeof(eh->ether_type));
!  	memcpy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst));
  	if (hdrcmplt)
! 		memcpy((caddr_t)eh->ether_shost, (caddr_t)esrc,
! 		       sizeof(eh->ether_shost));
  	else
! 	 	memcpy((caddr_t)eh->ether_shost, LLADDR(ifp->if_sadl),
! 		       sizeof(eh->ether_shost));
  	s = splimp();
  	/*
  	 * Queue message on interface, and start output if interface
***************
*** 595,602 ****
  				l->llc_dsap = l->llc_ssap;
  				l->llc_ssap = c;
  				if (m->m_flags & (M_BCAST | M_MCAST))
! 					bcopy(LLADDR(ifp->if_sadl),
! 					      (caddr_t)eh->ether_dhost, 6);
  				sa.sa_family = AF_UNSPEC;
  				sa.sa_len = sizeof(sa);
  				eh2 = (struct ether_header *)sa.sa_data;
--- 590,596 ----
  				l->llc_dsap = l->llc_ssap;
  				l->llc_ssap = c;
  				if (m->m_flags & (M_BCAST | M_MCAST))
! 					memcpy((caddr_t)eh->ether_dhost, LLADDR(ifp->if_sadl), 6);
  				sa.sa_family = AF_UNSPEC;
  				sa.sa_len = sizeof(sa);
  				eh2 = (struct ether_header *)sa.sa_data;
***************
*** 698,704 ****
  	    sdl->sdl_family == AF_LINK) {
  		sdl->sdl_type = IFT_ETHER;
  		sdl->sdl_alen = ifp->if_addrlen;
! 		bcopy((caddr_t)lla, LLADDR(sdl), ifp->if_addrlen);
  	}
  	LIST_INIT(&((struct ethercom *)ifp)->ec_multiaddrs);
  	ifp->if_broadcastaddr = etherbroadcastaddr;
--- 692,698 ----
  	    sdl->sdl_family == AF_LINK) {
  		sdl->sdl_type = IFT_ETHER;
  		sdl->sdl_alen = ifp->if_addrlen;
! 		memcpy(LLADDR(sdl), (caddr_t)lla, ifp->if_addrlen);
  	}
  	LIST_INIT(&((struct ethercom *)ifp)->ec_multiaddrs);
  	ifp->if_broadcastaddr = etherbroadcastaddr;
***************
*** 726,733 ****
  	switch (ifr->ifr_addr.sa_family) {
  
  	case AF_UNSPEC:
! 		bcopy(ifr->ifr_addr.sa_data, addrlo, 6);
! 		bcopy(addrlo, addrhi, 6);
  		break;
  
  #ifdef INET
--- 720,727 ----
  	switch (ifr->ifr_addr.sa_family) {
  
  	case AF_UNSPEC:
! 		memcpy(addrlo, ifr->ifr_addr.sa_data, 6);
! 		memcpy(addrhi, addrlo, 6);
  		break;
  
  #ifdef INET
***************
*** 739,750 ****
  			 * of the Ethernet multicast addresses used for IP.
  			 * (This is for the sake of IP multicast routers.)
  			 */
! 			bcopy(ether_ipmulticast_min, addrlo, 6);
! 			bcopy(ether_ipmulticast_max, addrhi, 6);
  		}
  		else {
  			ETHER_MAP_IP_MULTICAST(&sin->sin_addr, addrlo);
! 			bcopy(addrlo, addrhi, 6);
  		}
  		break;
  #endif
--- 733,744 ----
  			 * of the Ethernet multicast addresses used for IP.
  			 * (This is for the sake of IP multicast routers.)
  			 */
! 			memcpy(addrlo, ether_ipmulticast_min, 6);
! 			memcpy(addrhi, ether_ipmulticast_max, 6);
  		}
  		else {
  			ETHER_MAP_IP_MULTICAST(&sin->sin_addr, addrlo);
! 			memcpy(addrhi, addrlo, 6);
  		}
  		break;
  #endif
***************
*** 782,789 ****
  		splx(s);
  		return (ENOBUFS);
  	}
! 	bcopy(addrlo, enm->enm_addrlo, 6);
! 	bcopy(addrhi, enm->enm_addrhi, 6);
  	enm->enm_ec = ec;
  	enm->enm_refcount = 1;
  	LIST_INSERT_HEAD(&ec->ec_multiaddrs, enm, enm_list);
--- 776,783 ----
  		splx(s);
  		return (ENOBUFS);
  	}
! 	memcpy(enm->enm_addrlo, addrlo, 6);
! 	memcpy(enm->enm_addrhi, addrhi, 6);
  	enm->enm_ec = ec;
  	enm->enm_refcount = 1;
  	LIST_INSERT_HEAD(&ec->ec_multiaddrs, enm, enm_list);
***************
*** 815,822 ****
  	switch (ifr->ifr_addr.sa_family) {
  
  	case AF_UNSPEC:
! 		bcopy(ifr->ifr_addr.sa_data, addrlo, 6);
! 		bcopy(addrlo, addrhi, 6);
  		break;
  
  #ifdef INET
--- 809,816 ----
  	switch (ifr->ifr_addr.sa_family) {
  
  	case AF_UNSPEC:
! 		memcpy(addrlo, ifr->ifr_addr.sa_data, 6);
! 		memcpy(addrhi, addrlo, 6);
  		break;
  
  #ifdef INET
***************
*** 828,839 ****
  			 * to the range of Ethernet multicast addresses used
  			 * for IP.
  			 */
! 			bcopy(ether_ipmulticast_min, addrlo, 6);
! 			bcopy(ether_ipmulticast_max, addrhi, 6);
  		}
  		else {
  			ETHER_MAP_IP_MULTICAST(&sin->sin_addr, addrlo);
! 			bcopy(addrlo, addrhi, 6);
  		}
  		break;
  #endif
--- 822,833 ----
  			 * to the range of Ethernet multicast addresses used
  			 * for IP.
  			 */
! 			memcpy(addrlo, ether_ipmulticast_min, 6);
! 			memcpy(addrhi, ether_ipmulticast_max, 6);
  		}
  		else {
  			ETHER_MAP_IP_MULTICAST(&sin->sin_addr, addrlo);
! 			memcpy(addrhi, addrlo, 6);
  		}
  		break;
  #endif
Index: radix.h
===================================================================
RCS file: /home/cvs-base/src/sys/net/radix.h,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 radix.h
*** radix.h	1997/04/03 15:53:15	1.1.1.2
--- radix.h	1999/01/12 22:15:32
***************
*** 134,146 ****
  
  #ifndef _KERNEL
  #define Bcmp(a, b, n) bcmp(((char *)(a)), ((char *)(b)), (n))
! #define Bcopy(a, b, n) bcopy(((char *)(a)), ((char *)(b)), (unsigned)(n))
  #define Bzero(p, n) bzero((char *)(p), (int)(n));
  #define R_Malloc(p, t, n) (p = (t) malloc((unsigned int)(n)))
  #define Free(p) free((char *)p);
  #else
  #define Bcmp(a, b, n) bcmp(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
! #define Bcopy(a, b, n) bcopy(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
  #define Bzero(p, n) bzero((caddr_t)(p), (unsigned)(n));
  #define R_Malloc(p, t, n) (p = (t) malloc((unsigned long)(n), M_RTABLE, M_DONTWAIT))
  #define Free(p) free((caddr_t)p, M_RTABLE);
--- 134,146 ----
  
  #ifndef _KERNEL
  #define Bcmp(a, b, n) bcmp(((char *)(a)), ((char *)(b)), (n))
! #define Bcopy(a, b, n) memcpy(((char *)(b)), ((char *)(a)), (unsigned)(n))
  #define Bzero(p, n) bzero((char *)(p), (int)(n));
  #define R_Malloc(p, t, n) (p = (t) malloc((unsigned int)(n)))
  #define Free(p) free((char *)p);
  #else
  #define Bcmp(a, b, n) bcmp(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
! #define Bcopy(a, b, n) memcpy(((caddr_t)(b)), ((caddr_t)(a)), (unsigned)(n))
  #define Bzero(p, n) bzero((caddr_t)(p), (unsigned)(n));
  #define R_Malloc(p, t, n) (p = (t) malloc((unsigned long)(n), M_RTABLE, M_DONTWAIT))
  #define Free(p) free((caddr_t)p, M_RTABLE);
Index: raw_usrreq.c
===================================================================
RCS file: /home/cvs-base/src/sys/net/raw_usrreq.c,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 raw_usrreq.c
*** raw_usrreq.c	1997/01/01 19:22:51	1.1.1.1
--- raw_usrreq.c	1999/01/12 22:15:32
***************
*** 162,168 ****
  {
  
  	nam->m_len = rp->rcb_laddr->sa_len;
! 	bcopy(rp->rcb_laddr, mtod(nam, caddr_t), (size_t)nam->m_len);
  }
  
  void
--- 162,168 ----
  {
  
  	nam->m_len = rp->rcb_laddr->sa_len;
! 	memcpy(mtod(nam, caddr_t), rp->rcb_laddr, (size_t)nam->m_len);
  }
  
  void
***************
*** 172,178 ****
  {
  
  	nam->m_len = rp->rcb_faddr->sa_len;
! 	bcopy(rp->rcb_faddr, mtod(nam, caddr_t), (size_t)nam->m_len);
  }
  
  /*ARGSUSED*/
--- 172,178 ----
  {
  
  	nam->m_len = rp->rcb_faddr->sa_len;
! 	memcpy(mtod(nam, caddr_t), rp->rcb_faddr, (size_t)nam->m_len);
  }
  
  /*ARGSUSED*/
Index: rtsock.c
===================================================================
RCS file: /home/cvs-base/src/sys/net/rtsock.c,v
retrieving revision 1.1.1.8
diff -c -r1.1.1.8 rtsock.c
*** rtsock.c	1998/12/13 15:21:20	1.1.1.8
--- rtsock.c	1999/01/12 22:15:33
***************
*** 507,513 ****
  		rtinfo->rti_addrs |= (1 << i);
  		dlen = ROUNDUP(sa->sa_len);
  		if (cp) {
! 			bcopy(sa, cp, (unsigned)dlen);
  			cp += dlen;
  		}
  		len += dlen;
--- 507,513 ----
  		rtinfo->rti_addrs |= (1 << i);
  		dlen = ROUNDUP(sa->sa_len);
  		if (cp) {
! 			memcpy(cp, sa, (unsigned)dlen);
  			cp += dlen;
  		}
  		len += dlen;
>Audit-Trail:
>Unformatted: