Tweaks based on review feedback of BIO size_t work
authorMatt Caswell <matt@openssl.org>
Fri, 21 Oct 2016 13:35:26 +0000 (14:35 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 28 Oct 2016 08:48:54 +0000 (09:48 +0100)
Rename some parameters.
Also change handling of buffer sizes >INT_MAX in length.

Reviewed-by: Richard Levitte <levitte@openssl.org>
crypto/bio/bio_meth.c
include/openssl/bio.h
ssl/bio_ssl.c

index daffc541a311fd2f8f9022a929abc7508c6e2c0c..ea3155f3fadcfda8a81048ba522844cb98faff0e 100644 (file)
@@ -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);
 
index 301e01aa698ac4840eb4bb936b5cf570d6ec7f17..7ecd46049b4140b0a8d9c42413365c71894fa770 100644 (file)
@@ -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);
index af5f913d8fcb8a97a24bedbdd9121427acb040f0..d64451c7045a8aca294696d53d25f12438b8829e 100644 (file)
@@ -16,8 +16,8 @@
 #include <openssl/err.h>
 #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: