Index: sbin/ping/ping.c =================================================================== --- sbin/ping/ping.c (revision 351229) +++ sbin/ping/ping.c (working copy) @@ -941,9 +941,13 @@ break; } if (n == 0 || options & F_FLOOD) { + u_char *outpackhdr_end = &outpackhdr[IP_MAXPACKET]; if (sweepmax && sntransmitted == snpackets) { for (i = 0; i < sweepincr ; ++i) - *datap++ = i; + if (datap < outpackhdr_end) + *datap++ = i; + else + break; datalen += sweepincr; if (datalen > sweepmax) break;