fix: some leak
This commit is contained in:
12
src/main.c
12
src/main.c
@@ -112,21 +112,21 @@ static int create_socket(struct setting const *settings)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = setsockopt(sockfd, IPPROTO_IP, IP_TTL, &settings->ttl, sizeof(uint8_t));
|
||||
ret = setsockopt(sockfd, IPPROTO_IP, IP_TTL, &settings->ttl, sizeof(settings->ttl));
|
||||
if (ret != 0)
|
||||
{
|
||||
close(sockfd);
|
||||
print_err("Failed to setsockopt(): ttl");
|
||||
return -1;
|
||||
}
|
||||
|
||||
struct timeval tv = {1, 0};
|
||||
struct timeval tv = {2, 0};
|
||||
ret = setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
|
||||
if (ret != 0)
|
||||
{
|
||||
close(sockfd);
|
||||
print_err("Failed to setsockopt(): recv timeout");
|
||||
return -1;
|
||||
}
|
||||
|
||||
return sockfd;
|
||||
}
|
||||
|
||||
@@ -209,13 +209,13 @@ int main(int ac, char **av)
|
||||
ret = recvfrom(sockfd, buffer, recv_packet_size, 0, (struct sockaddr *) &sender, &len);
|
||||
if (ret < 0)
|
||||
{
|
||||
print_err("error: receive packet failed.");
|
||||
print_err("error: receive packet failed.%zd", ret);
|
||||
goto error3;
|
||||
}
|
||||
gettimeofday(&stop, NULL);
|
||||
}
|
||||
while (((size_t) ret != recv_packet_size) || (check_reply(&settings.dest.ip, &sender, packet, buffer + sizeof(struct iphdr), packet_size)));
|
||||
|
||||
|
||||
if (((struct icmphdr *) buffer + sizeof(struct iphdr))->type == 0)
|
||||
stats.packets_received++;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user