On Thu, 28 Aug 2025 10:02:10 +0800 Zongmin Zhou wrote: > @@ -501,7 +502,8 @@ int main(int argc, char *argv[]) > if (fd < 0) { > fprintf(stderr, "Can't open socket: %s\n", strerror(errno)); > freeaddrinfo(ai);
Since you added the gotos now perhaps it'd be even better to remove this freeaddrinfo() call here, and instead jump to a separate label... > - return ERN_RESOLVE; > + err = ERN_RESOLVE; > + goto err_free_buff; > } > > if (opt.sock.proto == IPPROTO_ICMP) { > @@ -575,5 +577,7 @@ int main(int argc, char *argv[]) > err_out: > close(fd); ... added right here? > freeaddrinfo(ai); > +err_free_buff: > + free(buf); > return err;