]> git.gsnw.org Git - fping.git/commitdiff
align functions add_cidr() and add_range()
authorErik Auerswald <auerswal@unix-ag.uni-kl.de>
Sun, 7 Jul 2024 12:09:07 +0000 (14:09 +0200)
committerErik Auerswald <auerswal@unix-ag.uni-kl.de>
Fri, 12 Jul 2024 16:19:39 +0000 (18:19 +0200)
* call freeaddrinfo() before checking the prefix length in
  add_cidr()
* add a comment to the generator limit check in add_range()

src/fping.c

index e44f8d849914fdad0c8460f012730547a4a0477e..29901c93f4e2f3949883488a884125724e07d173 100644 (file)
@@ -1282,6 +1282,7 @@ void add_cidr(char *addr)
         exit(1);
     }
     net_addr = ntohl(((struct sockaddr_in *)addr_res->ai_addr)->sin_addr.s_addr);
+    freeaddrinfo(addr_res);
 
     /* check mask */
     if (mask < 1 || mask > 32) {
@@ -1310,8 +1311,6 @@ void add_cidr(char *addr)
         inet_ntop(AF_INET, &in_addr_tmp, buffer, sizeof(buffer));
         add_name(buffer);
     }
-
-    freeaddrinfo(addr_res);
 }
 
 void add_range(char *start, char *end)
@@ -1355,6 +1354,7 @@ void add_range(char *start, char *end)
     end_long = ntohl(((struct sockaddr_in *)addr_res->ai_addr)->sin_addr.s_addr);
     freeaddrinfo(addr_res);
 
+    /* check if generator limit is exceeded */
     if (end_long > start_long + MAX_GENERATE) {
         fprintf(stderr, "%s: -g parameter generates too many addresses\n", prog);
         exit(1);