diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c --- a/sbin/ping/ping.c +++ b/sbin/ping/ping.c @@ -1156,6 +1156,7 @@ struct ip oip; u_char oip_header_len; struct icmp oicmp; + const u_char *oicmp_raw; /* * Get size of IP header of the received packet. @@ -1359,6 +1360,8 @@ } memcpy(&oip, icmp_data_raw, sizeof(struct ip)); + oicmp_raw = icmp_data_raw + oip_header_len; + memcpy(&oicmp, oicmp_raw, sizeof(struct icmp)); if (((options & F_VERBOSE) && uid == 0) || (!(options & F_QUIET2) &&