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 | |
| parent | a4ac65d02a2ba5eb210fc3285f8e9d92e5132dc8 (diff) | |
Close socket if there was an error on connect().
Diffstat (limited to 'hardinfo2')
| -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; | 
