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 <levitte@openssl.org>
This commit is contained in:
Matt Caswell 2016-10-21 14:35:26 +01:00
parent bb5310bed5
commit f42fd819d6
3 changed files with 17 additions and 17 deletions

View file

@ -66,7 +66,7 @@ int bwrite_conv(BIO *bio, const char *in, size_t inl, size_t *written)
int ret; int ret;
if (inl > INT_MAX) if (inl > INT_MAX)
return 0; inl = INT_MAX;
ret = bio->method->bwrite_old(bio, in, (int)inl); ret = bio->method->bwrite_old(bio, in, (int)inl);

View file

@ -552,10 +552,10 @@ int BIO_get_shutdown(BIO *a);
void BIO_vfree(BIO *a); void BIO_vfree(BIO *a);
int BIO_up_ref(BIO *a); int BIO_up_ref(BIO *a);
int BIO_read(BIO *b, void *data, int len); 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_gets(BIO *bp, char *buf, int size);
int BIO_write(BIO *b, const void *data, int len); 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_puts(BIO *bp, const char *buf);
int BIO_indent(BIO *b, int indent, int max); int BIO_indent(BIO *b, int indent, int max);
long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg);

View file

@ -16,8 +16,8 @@
#include <openssl/err.h> #include <openssl/err.h>
#include "ssl_locl.h" #include "ssl_locl.h"
static int ssl_write(BIO *h, const char *buf, size_t num, size_t *written); static int ssl_write(BIO *h, const char *buf, size_t size, size_t *written);
static int ssl_read(BIO *b, char *out, size_t outl, size_t *read); static int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes);
static int ssl_puts(BIO *h, const char *str); static int ssl_puts(BIO *h, const char *str);
static long ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2); static long ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int ssl_new(BIO *h); static int ssl_new(BIO *h);
@ -88,7 +88,7 @@ static int ssl_free(BIO *a)
return 1; 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; int ret = 1;
BIO_SSL *sb; 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 retry_reason = 0;
int r = 0; int r = 0;
if (out == NULL) if (buf == NULL)
return (0); return 0;
sb = BIO_get_data(b); sb = BIO_get_data(b);
ssl = sb->ssl; ssl = sb->ssl;
BIO_clear_retry_flags(b); BIO_clear_retry_flags(b);
if (outl > INT_MAX) if (size > INT_MAX)
return -1; size = INT_MAX;
ret = SSL_read(ssl, out, outl); ret = SSL_read(ssl, buf, size);
if (ret > 0) if (ret > 0)
*readbytes = ret; *readbytes = ret;
@ -165,24 +165,24 @@ static int ssl_read(BIO *b, char *out, size_t outl, size_t *readbytes)
return ret; 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 ret, r = 0;
int retry_reason = 0; int retry_reason = 0;
SSL *ssl; SSL *ssl;
BIO_SSL *bs; BIO_SSL *bs;
if (out == NULL) if (buf == NULL)
return (0); return 0;
bs = BIO_get_data(b); bs = BIO_get_data(b);
ssl = bs->ssl; ssl = bs->ssl;
BIO_clear_retry_flags(b); BIO_clear_retry_flags(b);
if (outl > INT_MAX) if (size > INT_MAX)
return 0; size = INT_MAX;
ret = SSL_write(ssl, out, outl); ret = SSL_write(ssl, buf, size);
switch (SSL_get_error(ssl, ret)) { switch (SSL_get_error(ssl, ret)) {
case SSL_ERROR_NONE: case SSL_ERROR_NONE: