summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeandro A. F. Pereira <leandro@hardinfo.org>2009-07-27 14:03:13 -0300
committerLeandro A. F. Pereira <leandro@hardinfo.org>2009-07-27 14:03:13 -0300
commit546ac76983ec54cf4561eed3c0c4f87c5b7cc5a5 (patch)
tree68369ac997675f2bb793cdc0f31195c800f188d8
parenta4ac65d02a2ba5eb210fc3285f8e9d92e5132dc8 (diff)
Close socket if there was an error on connect().
-rw-r--r--hardinfo2/socket.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/hardinfo2/socket.c b/hardinfo2/socket.c
index ab7ae890..339df30e 100644
--- a/hardinfo2/socket.c
+++ b/hardinfo2/socket.c
@@ -43,10 +43,8 @@ Socket *sock_connect(gchar * host, gint port)
server.sin_addr.s_addr = inet_addr(host);
server.sin_port = htons(port);
- if (connect
- (sock, (struct sockaddr *) (void *) &server,
- sizeof(server)) < 0) {
- return NULL;
+ if (connect(sock, (struct sockaddr *) (void *) &server, sizeof(server)) < 0) {
+ goto cleanup;
}
s = g_new0(Socket, 1);
@@ -54,7 +52,8 @@ Socket *sock_connect(gchar * host, gint port)
return s;
}
-
+
+cleanup:
close(sock);
return NULL;