diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-21 23:51:43 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-21 23:51:43 +0000 |
commit | 8ed1945a9161bae257c0d2570676177d0bdac5fc (patch) | |
tree | 467de3b040dbd83aee5e362f521d013bfef01e43 | |
parent | a771e7c0057d0f506f8cdf67be39268e1c9f0735 (diff) | |
download | busybox-w32-8ed1945a9161bae257c0d2570676177d0bdac5fc.tar.gz busybox-w32-8ed1945a9161bae257c0d2570676177d0bdac5fc.tar.bz2 busybox-w32-8ed1945a9161bae257c0d2570676177d0bdac5fc.zip |
nc: free lsa in server mode, we might be up for a long time
-rw-r--r-- | networking/nc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/networking/nc.c b/networking/nc.c index 857d63570..e64c998bc 100644 --- a/networking/nc.c +++ b/networking/nc.c | |||
@@ -111,12 +111,12 @@ int nc_main(int argc, char **argv) | |||
111 | /* If we didn't specify a port number, | 111 | /* If we didn't specify a port number, |
112 | * query and print it after listen() */ | 112 | * query and print it after listen() */ |
113 | if (!lport) { | 113 | if (!lport) { |
114 | socklen_t addrlen = lsa->len; | 114 | getsockname(sfd, &lsa->u.sa, &lsa->len); |
115 | getsockname(sfd, &lsa->u.sa, &addrlen); | ||
116 | lport = get_nport(&lsa->u.sa); | 115 | lport = get_nport(&lsa->u.sa); |
117 | fdprintf(2, "%d\n", ntohs(lport)); | 116 | fdprintf(2, "%d\n", ntohs(lport)); |
118 | } | 117 | } |
119 | close_on_exec_on(sfd); | 118 | close_on_exec_on(sfd); |
119 | free(lsa); | ||
120 | accept_again: | 120 | accept_again: |
121 | cfd = accept(sfd, NULL, 0); | 121 | cfd = accept(sfd, NULL, 0); |
122 | if (cfd < 0) | 122 | if (cfd < 0) |