diff options
Diffstat (limited to 'networking/udhcp/arpping.c')
-rw-r--r-- | networking/udhcp/arpping.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/networking/udhcp/arpping.c b/networking/udhcp/arpping.c index d71cd10f4..4c0b3d83b 100644 --- a/networking/udhcp/arpping.c +++ b/networking/udhcp/arpping.c | |||
@@ -67,9 +67,9 @@ int arpping(u_int32_t yiaddr, u_int32_t ip, unsigned char *mac, char *interface) | |||
67 | arp.hlen = 6; /* hardware address length */ | 67 | arp.hlen = 6; /* hardware address length */ |
68 | arp.plen = 4; /* protocol address length */ | 68 | arp.plen = 4; /* protocol address length */ |
69 | arp.operation = htons(ARPOP_REQUEST); /* ARP op code */ | 69 | arp.operation = htons(ARPOP_REQUEST); /* ARP op code */ |
70 | *((u_int *) arp.sInaddr) = ip; /* source IP address */ | 70 | memcpy(arp.sInaddr, &ip, sizeof(ip)); /* source IP address */ |
71 | memcpy(arp.sHaddr, mac, 6); /* source hardware address */ | 71 | memcpy(arp.sHaddr, mac, 6); /* source hardware address */ |
72 | *((u_int *) arp.tInaddr) = yiaddr; /* target IP address */ | 72 | memcpy(arp.tInaddr, &yiaddr, sizeof(yiaddr)); /* target IP address */ |
73 | 73 | ||
74 | memset(&addr, 0, sizeof(addr)); | 74 | memset(&addr, 0, sizeof(addr)); |
75 | strcpy(addr.sa_data, interface); | 75 | strcpy(addr.sa_data, interface); |