Module Name:    src
Committed By:   maxv
Date:           Wed Apr 11 07:52:26 UTC 2018

Modified Files:
        src/sys/netinet: ip_input.c

Log Message:
Small changes in ip_dooptions: replace bcopy by memcpy, the areas can't
overlap.


To generate a diff of this commit:
cvs rdiff -u -r1.376 -r1.377 src/sys/netinet/ip_input.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/netinet/ip_input.c
diff -u src/sys/netinet/ip_input.c:1.376 src/sys/netinet/ip_input.c:1.377
--- src/sys/netinet/ip_input.c:1.376	Sat Feb 24 07:37:09 2018
+++ src/sys/netinet/ip_input.c	Wed Apr 11 07:52:25 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_input.c,v 1.376 2018/02/24 07:37:09 ozaki-r Exp $	*/
+/*	$NetBSD: ip_input.c,v 1.377 2018/04/11 07:52:25 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -91,7 +91,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_input.c,v 1.376 2018/02/24 07:37:09 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_input.c,v 1.377 2018/04/11 07:52:25 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -965,8 +965,8 @@ ip_dooptions(struct mbuf *m)
 				goto bad;
 			}
 			ip->ip_dst = ipaddr.sin_addr;
-			bcopy((void *)&ia->ia_addr.sin_addr,
-			    (void *)(cp + off), sizeof(struct in_addr));
+			memcpy(cp + off, &ia->ia_addr.sin_addr,
+			    sizeof(struct in_addr));
 			ia4_release(ia, &psref);
 			cp[IPOPT_OFFSET] += sizeof(struct in_addr);
 			/*
@@ -1001,7 +1001,7 @@ ip_dooptions(struct mbuf *m)
 			off--;			/* 0 origin */
 			if ((off + sizeof(struct in_addr)) > optlen)
 				break;
-			memcpy((void *)&ipaddr.sin_addr, (void *)(&ip->ip_dst),
+			memcpy((void *)&ipaddr.sin_addr, (void *)&ip->ip_dst,
 			    sizeof(ipaddr.sin_addr));
 			/*
 			 * locate outgoing interface; if we're the destination,
@@ -1018,8 +1018,8 @@ ip_dooptions(struct mbuf *m)
 			} else {
 				ia = ifatoia(ifa);
 			}
-			bcopy((void *)&ia->ia_addr.sin_addr,
-			    (void *)(cp + off), sizeof(struct in_addr));
+			memcpy(cp + off, &ia->ia_addr.sin_addr,
+			    sizeof(struct in_addr));
 			ia4_release(ia, &psref);
 			cp[IPOPT_OFFSET] += sizeof(struct in_addr);
 			break;
@@ -1081,8 +1081,8 @@ ip_dooptions(struct mbuf *m)
 					break;
 				}
 				ia = ifatoia(ifa);
-				bcopy(&ia->ia_addr.sin_addr,
-				    cp0, sizeof(struct in_addr));
+				memcpy(cp0, &ia->ia_addr.sin_addr,
+				    sizeof(struct in_addr));
 				pserialize_read_exit(_ss);
 				ipt->ipt_ptr += sizeof(struct in_addr);
 				break;

Reply via email to