From f42fd819d60c5ebbcfd7bff6173b89664ab2fde1 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Fri, 21 Oct 2016 14:35:26 +0100 Subject: [PATCH] Tweaks based on review feedback of BIO size_t work Rename some parameters. Also change handling of buffer sizes >INT_MAX in length. Reviewed-by: Richard Levitte --- crypto/bio/bio_meth.c | 2 +- include/openssl/bio.h | 4 ++-- ssl/bio_ssl.c | 28 ++++++++++++++-------------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/crypto/bio/bio_meth.c b/crypto/bio/bio_meth.c index daffc541a3..ea3155f3fa 100644 --- a/crypto/bio/bio_meth.c +++ b/crypto/bio/bio_meth.c @@ -66,7 +66,7 @@ int bwrite_conv(BIO *bio, const char *in, size_t inl, size_t *written) int ret; if (inl > INT_MAX) - return 0; + inl = INT_MAX; ret = bio->method->bwrite_old(bio, in, (int)inl); diff --git a/include/openssl/bio.h b/include/openssl/bio.h index 301e01aa69..7ecd46049b 100644 --- a/include/openssl/bio.h +++ b/include/openssl/bio.h @@ -552,10 +552,10 @@ int BIO_get_shutdown(BIO *a); void BIO_vfree(BIO *a); int BIO_up_ref(BIO *a); int BIO_read(BIO *b, void *data, int len); -int BIO_read_ex(BIO *b, void *out, size_t outl, size_t *read); +int BIO_read_ex(BIO *b, void *data, size_t datal, size_t *read); int BIO_gets(BIO *bp, char *buf, int size); int BIO_write(BIO *b, const void *data, int len); -int BIO_write_ex(BIO *b, const void *in, size_t inl, size_t *written); +int BIO_write_ex(BIO *b, const void *data, size_t datal, size_t *written); int BIO_puts(BIO *bp, const char *buf); int BIO_indent(BIO *b, int indent, int max); long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); diff --git a/ssl/bio_ssl.c b/ssl/bio_ssl.c index af5f913d8f..d64451c704 100644 --- a/ssl/bio_ssl.c +++ b/ssl/bio_ssl.c @@ -16,8 +16,8 @@ #include #include "ssl_locl.h" -static int ssl_write(BIO *h, const char *buf, size_t num, size_t *written); -static int ssl_read(BIO *b, char *out, size_t outl, size_t *read); +static int ssl_write(BIO *h, const char *buf, size_t size, size_t *written); +static int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes); static int ssl_puts(BIO *h, const char *str); static long ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2); static int ssl_new(BIO *h); @@ -88,7 +88,7 @@ static int ssl_free(BIO *a) return 1; } -static int ssl_read(BIO *b, char *out, size_t outl, size_t *readbytes) +static int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes) { int ret = 1; BIO_SSL *sb; @@ -96,17 +96,17 @@ static int ssl_read(BIO *b, char *out, size_t outl, size_t *readbytes) int retry_reason = 0; int r = 0; - if (out == NULL) - return (0); + if (buf == NULL) + return 0; sb = BIO_get_data(b); ssl = sb->ssl; BIO_clear_retry_flags(b); - if (outl > INT_MAX) - return -1; + if (size > INT_MAX) + size = INT_MAX; - ret = SSL_read(ssl, out, outl); + ret = SSL_read(ssl, buf, size); if (ret > 0) *readbytes = ret; @@ -165,24 +165,24 @@ static int ssl_read(BIO *b, char *out, size_t outl, size_t *readbytes) return ret; } -static int ssl_write(BIO *b, const char *out, size_t outl, size_t *written) +static int ssl_write(BIO *b, const char *buf, size_t size, size_t *written) { int ret, r = 0; int retry_reason = 0; SSL *ssl; BIO_SSL *bs; - if (out == NULL) - return (0); + if (buf == NULL) + return 0; bs = BIO_get_data(b); ssl = bs->ssl; BIO_clear_retry_flags(b); - if (outl > INT_MAX) - return 0; + if (size > INT_MAX) + size = INT_MAX; - ret = SSL_write(ssl, out, outl); + ret = SSL_write(ssl, buf, size); switch (SSL_get_error(ssl, ret)) { case SSL_ERROR_NONE: -- 2.34.1