diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2014-06-06 20:59:29 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2014-06-06 20:59:29 +0000 |
commit | 2e22f5e2e00c1f1f599b03634ca27bb5b9ac471e (patch) | |
tree | a707d3fdb02faa3d4423773ae7b606febaa5e786 /apps/s_socket.c | |
parent | 06369e3974fbc83d3778807c090fbe69f20a27d4 (diff) |
Diffstat (limited to 'apps/s_socket.c')
-rw-r--r-- | apps/s_socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/s_socket.c b/apps/s_socket.c index 380efdb1b976..94eb40f3ffc8 100644 --- a/apps/s_socket.c +++ b/apps/s_socket.c @@ -274,7 +274,7 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port, int type) { i=0; i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i)); - if (i < 0) { perror("keepalive"); return(0); } + if (i < 0) { closesocket(s); perror("keepalive"); return(0); } } #endif @@ -450,6 +450,7 @@ redoit: if ((*host=(char *)OPENSSL_malloc(strlen(h1->h_name)+1)) == NULL) { perror("OPENSSL_malloc"); + closesocket(ret); return(0); } BUF_strlcpy(*host,h1->h_name,strlen(h1->h_name)+1); @@ -458,11 +459,13 @@ redoit: if (h2 == NULL) { BIO_printf(bio_err,"gethostbyname failure\n"); + closesocket(ret); return(0); } if (h2->h_addrtype != AF_INET) { BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n"); + closesocket(ret); return(0); } } |