}
Log(to, ' ', NULL, 0, 0);
+ to.FreeAddrInfo(S);
}
void
icmp = (struct icmphdr *) (void *) (pkt + iphdrlen);
- if (icmp->icmp_type != ICMP_ECHOREPLY)
+ if (icmp->icmp_type != ICMP_ECHOREPLY) {
+ preply.from.FreeAddrInfo(from);
return;
+ }
- if (icmp->icmp_id != icmp_ident)
+ if (icmp->icmp_id != icmp_ident) {
+ preply.from.FreeAddrInfo(from);
return;
+ }
echo = (icmpEchoData *) (void *) (icmp + 1);
control.SendResult(preply, (sizeof(pingerReplyData) - MAX_PKT4_SZ + preply.psize) );
Log(preply.from, icmp->icmp_type, icmpPktStr[icmp->icmp_type], preply.rtt, preply.hops);
+ preply.from.FreeAddrInfo(from);
}
#endif /* USE_ICMP */
debugs(42,9, HERE << "x=" << x);
Log(to, 0, NULL, 0, 0);
+ to.FreeAddrInfo(S);
}
/**
( icmp6header->icmp6_type&0x80 ? icmp6HighPktStr[(int)(icmp6header->icmp6_type&0x7f)] : icmp6LowPktStr[(int)(icmp6header->icmp6_type&0x7f)] )
);
}
+ preply.from.FreeAddrInfo(from);
return;
}
if (icmp6header->icmp6_id != icmp_ident) {
debugs(42, 8, HERE << "dropping Icmp6 read. IDENT check failed. ident=='" << icmp_ident << "'=='" << icmp6header->icmp6_id << "'");
+ preply.from.FreeAddrInfo(from);
return;
}
/* send results of the lookup back to squid.*/
control.SendResult(preply, (sizeof(pingerReplyData) - PINGER_PAYLOAD_SZ + preply.psize) );
+ preply.from.FreeAddrInfo(from);
}
#endif /* USE_ICMP */