From f1b7004c7ee0d3ac1478798a5bb85e83483abe6f Mon Sep 17 00:00:00 2001 From: tedu <> Date: Wed, 23 Apr 2014 20:22:37 +0000 Subject: close socket in failure cases too --- src/lib/libcrypto/bio/b_sock.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/lib/libcrypto/bio/b_sock.c') diff --git a/src/lib/libcrypto/bio/b_sock.c b/src/lib/libcrypto/bio/b_sock.c index a7791b39e2..e5f42398df 100644 --- a/src/lib/libcrypto/bio/b_sock.c +++ b/src/lib/libcrypto/bio/b_sock.c @@ -535,6 +535,7 @@ BIO_accept(int sock, char **addr) if (p) { *p = '\0'; if (!(tmp = realloc(p, nl))) { + close(ret); ret = -1; free(p); *addr = NULL; @@ -546,6 +547,7 @@ BIO_accept(int sock, char **addr) p = malloc(nl); } if (p == NULL) { + close(ret); ret = -1; BIOerr(BIO_F_BIO_ACCEPT, ERR_R_MALLOC_FAILURE); goto end; @@ -561,6 +563,7 @@ BIO_accept(int sock, char **addr) port = ntohs(sa.from.sa_in.sin_port); if (*addr == NULL) { if ((p = malloc(24)) == NULL) { + close(ret); ret = -1; BIOerr(BIO_F_BIO_ACCEPT, ERR_R_MALLOC_FAILURE); goto end; -- cgit v1.2.3-55-g6feb