ping: dont leak uninitialized data in ping packets
function old new delta
sendping4 176 186 +10
sendping6 93 100 +7
diff --git a/networking/ping.c b/networking/ping.c
index 2991486..c3a7107 100644
--- a/networking/ping.c
+++ b/networking/ping.c
@@ -372,9 +372,10 @@
* *after* packet. Saves one if() */
struct icmp *pkt = alloca(datalen + ICMP_MINLEN + 4);
+ memset(pkt, 0, datalen + ICMP_MINLEN + 4);
pkt->icmp_type = ICMP_ECHO;
- pkt->icmp_code = 0;
- pkt->icmp_cksum = 0;
+ /*pkt->icmp_code = 0;*/
+ /*pkt->icmp_cksum = 0;*/
pkt->icmp_seq = htons(ntransmitted); /* don't ++ here, it can be a macro */
pkt->icmp_id = myid;
@@ -391,9 +392,10 @@
{
struct icmp6_hdr *pkt = alloca(datalen + sizeof(struct icmp6_hdr) + 4);
+ memset(pkt, 0, datalen + sizeof(struct icmp6_hdr) + 4);
pkt->icmp6_type = ICMP6_ECHO_REQUEST;
- pkt->icmp6_code = 0;
- pkt->icmp6_cksum = 0;
+ /*pkt->icmp6_code = 0;*/
+ /*pkt->icmp6_cksum = 0;*/
pkt->icmp6_seq = htons(ntransmitted); /* don't ++ here, it can be a macro */
pkt->icmp6_id = myid;