Mercurial > hg > dhcpcd
changeset 963:e0f544fd8ad0 draft
Fix memory errors.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Tue, 09 Sep 2008 20:52:21 +0000 |
| parents | 8cb8068f0275 |
| children | 56f30c15188b |
| files | arp.c |
| diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/arp.c Tue Sep 09 19:07:37 2008 +0000 +++ b/arp.c Tue Sep 09 20:52:21 2008 +0000 @@ -57,8 +57,8 @@ ar.ar_hln = iface->hwlen; ar.ar_pln = sizeof(sip); ar.ar_op = htons(op); - p = arp_buffer; - p += sizeof(ar); + memcpy(arp_buffer, &ar, sizeof(ar)); + p = arp_buffer + sizeof(ar); memcpy(p, iface->hwaddr, iface->hwlen); p += iface->hwlen; memcpy(p, &sip, sizeof(sip)); @@ -69,7 +69,7 @@ *p++ = '\0'; memcpy(p, &tip, sizeof(tip)); p += sizeof(tip); - len = sizeof(ar) + 2 * iface->hwlen + 2 * sizeof(sip); + len = p - arp_buffer; retval = send_raw_packet(iface, ETHERTYPE_ARP, arp_buffer, len); return retval; }
