diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-07-27 14:03:13 -0300 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-07-27 14:03:13 -0300 |
commit | 546ac76983ec54cf4561eed3c0c4f87c5b7cc5a5 (patch) | |
tree | 68369ac997675f2bb793cdc0f31195c800f188d8 /hardinfo2/socket.c | |
parent | a4ac65d02a2ba5eb210fc3285f8e9d92e5132dc8 (diff) |
Close socket if there was an error on connect().
Diffstat (limited to 'hardinfo2/socket.c')
-rw-r--r-- | hardinfo2/socket.c | 9 |
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; |