nc: free lsa in server mode, we might be up for a long time
diff --git a/networking/nc.c b/networking/nc.c
index 857d635..e64c998 100644
--- a/networking/nc.c
+++ b/networking/nc.c
@@ -111,12 +111,12 @@
/* If we didn't specify a port number,
* query and print it after listen() */
if (!lport) {
- socklen_t addrlen = lsa->len;
- getsockname(sfd, &lsa->u.sa, &addrlen);
+ getsockname(sfd, &lsa->u.sa, &lsa->len);
lport = get_nport(&lsa->u.sa);
fdprintf(2, "%d\n", ntohs(lport));
}
close_on_exec_on(sfd);
+ free(lsa);
accept_again:
cfd = accept(sfd, NULL, 0);
if (cfd < 0)