From 14201eaf926cea53725ee61378d586dc9c9c6810 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Wed, 24 Dec 2008 16:23:09 +0200 Subject: mtu: minor fixups; try harder to traverse nat boxes in mtu inject --- icmp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'icmp.c') diff --git a/icmp.c b/icmp.c index bb5db3f..8c27a8e 100644 --- a/icmp.c +++ b/icmp.c @@ -260,8 +260,7 @@ int icmp_send_frag_needed(int fd, struct sockaddr *to, int tolen, icp->un.frag.mtu = htons(newmtu); /* copy ip header + 64-bits of original packet */ - memcpy(&packet[sizeof(struct icmphdr)], iph, - sizeof(struct iphdr) + 8); + memcpy(icp + 1, iph, sizeof(struct iphdr) + 8); icp->checksum = in_cksum((u_short *) icp, len, 0); @@ -275,7 +274,7 @@ int icmp_send_ping(int fd, struct sockaddr *to, int tolen, int seq, int total_size) { struct sockaddr_in *to_in = (struct sockaddr_in *) to; - char packet[1500]; + __u8 packet[1500]; struct icmphdr *icp; int len; @@ -285,6 +284,7 @@ int icmp_send_ping(int fd, struct sockaddr *to, int tolen, total_size = sizeof(struct iphdr) + sizeof(struct icmphdr); len = total_size - sizeof(struct iphdr); + memset(packet, 0, sizeof(packet)); icp = (struct icmphdr *) packet; icp->type = ICMP_ECHO; -- cgit v1.2.3