diff --git a/src/bin/network/ping6/ping6.c b/src/bin/network/ping6/ping6.c index be26138f66..520047bfa8 100644 --- a/src/bin/network/ping6/ping6.c +++ b/src/bin/network/ping6/ping6.c @@ -1302,6 +1302,11 @@ pinger() i = sendmsg(s, &smsghdr, 0); + // as smsghdr is a global variable, don't let stray pointer to the stack + // in it after this function returns. + smsghdr.msg_iov = NULL; + smsghdr.msg_iovlen = 0; + if (i < 0 || i != cc) { if (i < 0) warn("sendmsg");