X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbio%2Fb_addr.c;h=ba26c9144af271feeea6438d233d744d2915e1bc;hp=b8e1f96e073c584434b0cce2cd5fc554a98a74a2;hb=177503752b24299cc97ccf07062a3b79c4f28899;hpb=561f6f1ed237cb9a5a9020e58a368dd9d351b40b diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index b8e1f96e07..ba26c9144a 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,6 +7,7 @@ * https://www.openssl.org/source/license.html */ +#include #include #include "bio_lcl.h" @@ -15,8 +16,7 @@ #ifndef OPENSSL_NO_SOCK #include #include -#include -#include +#include "internal/thread_once.h" CRYPTO_RWLOCK *bio_lookup_lock; static CRYPTO_ONCE bio_lookup_init = CRYPTO_ONCE_STATIC_INIT; @@ -76,7 +76,7 @@ int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa) } #endif #ifdef AF_UNIX - if (ap->sa.sa_family == AF_UNIX) { + if (sa->sa_family == AF_UNIX) { ap->s_un = *(const struct sockaddr_un *)sa; return 1; } @@ -565,8 +565,6 @@ static int addrinfo_wrap(int family, int socktype, unsigned short port, BIO_ADDRINFO **bai) { - OPENSSL_assert(bai != NULL); - *bai = OPENSSL_zalloc(sizeof(**bai)); if (*bai == NULL) return 0; @@ -760,8 +758,11 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, he_fallback_address = INADDR_ANY; break; default: - OPENSSL_assert(("We forgot to handle a lookup type!" == 0)); - break; + /* We forgot to handle a lookup type! */ + assert("We forgot to handle a lookup type!" == NULL); + BIOerr(BIO_F_BIO_LOOKUP_EX, ERR_R_INTERNAL_ERROR); + ret = 0; + goto err; } } else { he = gethostbyname(host);