diff options
author | Bodo Möller <bodo@openssl.org> | 1999-06-07 22:51:55 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 1999-06-07 22:51:55 +0000 |
commit | 1aad3392e531aa9d32583b435ba4f0b296ee4d27 (patch) | |
tree | 82d88cd0f3c098bbac9a03b2c8ff8efbcfd835fd /crypto | |
parent | ba9f28088597f103f0a058ecf3772c521663add5 (diff) |
Fix for BIO pairs.
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bio/bio.h | 8 | ||||
-rw-r--r-- | crypto/bio/bss_bio.c | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/crypto/bio/bio.h b/crypto/bio/bio.h index 8e5b7b5280..405e769494 100644 --- a/crypto/bio/bio.h +++ b/crypto/bio/bio.h @@ -512,6 +512,14 @@ int BIO_fd_non_fatal_error(int error); int BIO_dump(BIO *b,const char *bytes,int len); struct hostent *BIO_gethostbyname(const char *name); +/* We might want a thread-safe interface too: + * struct hostent *BIO_gethostbyname_r(const char *name, + * struct hostent *result, void *buffer, size_t buflen); + * or something similar (caller allocates a struct hostent, + * pointed to by "result", and additional buffer space for the various + * substructures; if the buffer does not suffice, NULL is returned + * and an appropriate error code is set). + */ int BIO_sock_error(int sock); int BIO_socket_ioctl(int fd, long type, unsigned long *arg); int BIO_socket_nbio(int fd,int mode); diff --git a/crypto/bio/bss_bio.c b/crypto/bio/bss_bio.c index 84b91b5778..0ad55e0e53 100644 --- a/crypto/bio/bss_bio.c +++ b/crypto/bio/bss_bio.c @@ -198,7 +198,7 @@ static int bio_make_pair(BIO *bio1, BIO *bio2) return 0; } - if (b1->buf != NULL) + if (b1->buf == NULL) { b1->buf = Malloc(b1->size); if (b1->buf == NULL) @@ -210,7 +210,7 @@ static int bio_make_pair(BIO *bio1, BIO *bio2) b1->offset = 0; } - if (b2->buf != NULL) + if (b2->buf == NULL) { b2->buf = Malloc(b2->size); if (b2->buf == NULL) |