Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Nov 2013 21:21:56 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r258488 - projects/sv/sys/netinet
Message-ID:  <201311222121.rAMLLu05057470@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Fri Nov 22 21:21:56 2013
New Revision: 258488
URL: http://svnweb.freebsd.org/changeset/base/258488

Log:
  Avoid alignment faults on ARM in netdump's ARP function
  
  Based on a patch submitted by Boris Astardzhiev.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/sv/sys/netinet/netdump_client.c

Modified: projects/sv/sys/netinet/netdump_client.c
==============================================================================
--- projects/sv/sys/netinet/netdump_client.c	Fri Nov 22 21:20:16 2013	(r258487)
+++ projects/sv/sys/netinet/netdump_client.c	Fri Nov 22 21:21:56 2013	(r258488)
@@ -421,9 +421,9 @@ netdump_send_arp()
 	ah->ar_pln = sizeof(struct in_addr);
 	ah->ar_op = htons(ARPOP_REQUEST);
 	memcpy(ar_sha(ah), IF_LLADDR(nd_ifp), ETHER_ADDR_LEN);
-	((struct in_addr *)ar_spa(ah))->s_addr = nd_client.s_addr;
+	memcpy(ar_spa(ah), &nd_client.s_addr, sizeof(nd_client.s_addr));
 	bzero(ar_tha(ah), ETHER_ADDR_LEN);
-	((struct in_addr *)ar_tpa(ah))->s_addr = nd_gw.s_addr;
+	memcpy(ar_tpa(ah), &nd_gw.s_addr, sizeof(nd_gw.s_addr));
 
 	return (netdump_ether_output(m, nd_ifp, bcast, ETHERTYPE_ARP));
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311222121.rAMLLu05057470>