aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkalvdans <github@kalvdans.no-ip.org>2019-10-19 21:23:45 +0200
committerNikolaus Rath <Nikolaus@rath.org>2019-10-19 20:23:45 +0100
commitaf63f35ac149678ac491cd763641cafaaa3bc6bd (patch)
tree5ea0df57aa23f3190900284c13bc1f93717cf6bc
parent667cf34622e2e873db776791df275c7a582d6295 (diff)
downloadsshfs-af63f35ac149678ac491cd763641cafaaa3bc6bd.tar
sshfs-af63f35ac149678ac491cd763641cafaaa3bc6bd.tar.gz
sshfs-af63f35ac149678ac491cd763641cafaaa3bc6bd.tar.bz2
sshfs-af63f35ac149678ac491cd763641cafaaa3bc6bd.zip
Free addrinfo and close socket when returning error (#186)
-rw-r--r--sshfs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sshfs.c b/sshfs.c
index f1c84d4..33d23d8 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -1120,11 +1120,14 @@ static int connect_to(char *host, char *port)
sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (sock == -1) {
perror("failed to create socket");
+ freeaddrinfo(ai);
return -1;
}
err = connect(sock, ai->ai_addr, ai->ai_addrlen);
if (err == -1) {
perror("failed to connect");
+ freeaddrinfo(ai);
+ close(sock);
return -1;
}
opt = 1;