Commit 5241757b authored by Andrew Vagin's avatar Andrew Vagin Committed by Pavel Emelyanov

util: don't leak a socket

CID 159478 (#2 of 2): Resource leak (RESOURCE_LEAK)
8. leaked_handle: Handle variable sk going out of scope leaks the handle.
Signed-off-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 2875a195
...@@ -1189,17 +1189,18 @@ int setup_tcp_client(char *addr) ...@@ -1189,17 +1189,18 @@ int setup_tcp_client(char *addr)
pr_info("Connecting to server %s:%u\n", addr, (int)ntohs(opts.port)); pr_info("Connecting to server %s:%u\n", addr, (int)ntohs(opts.port));
if (get_sockaddr_in(&saddr, addr))
return -1;
sk = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); sk = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sk < 0) { if (sk < 0) {
pr_perror("Can't create socket"); pr_perror("Can't create socket");
return -1; return -1;
} }
if (get_sockaddr_in(&saddr, addr))
return -1;
if (connect(sk, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) { if (connect(sk, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) {
pr_perror("Can't connect to server"); pr_perror("Can't connect to server");
close(sk);
return -1; return -1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment