[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

Rich Salz rsalz at openssl.org
Mon Feb 1 13:43:36 UTC 2016


The branch OpenSSL_1_0_2-stable has been updated
       via  a38a159bfcbc94214dda00e0e6b1fc6454a23b78 (commit)
      from  e0fde613acb2dcd5be0750f002e80bf345401a2e (commit)


- Log -----------------------------------------------------------------
commit a38a159bfcbc94214dda00e0e6b1fc6454a23b78
Author: Daniel Kahn Gillmor <dkg at fifthhorseman.net>
Date:   Sat Jan 30 20:38:08 2016 -0500

    RT4129: BUF_new_mem_buf should take const void *
    
    Signed-off-by: Rich Salz <rsalz at akamai.com>
    Reviewed-by: Dr. Stephen Henson <steve at openssl.org>
    (cherry picked from commit 8ab31975bacb9c907261088937d3aa4102e3af84)

-----------------------------------------------------------------------

Summary of changes:
 crypto/bio/bio.h         | 2 +-
 crypto/bio/bss_mem.c     | 6 ++++--
 doc/crypto/BIO_s_mem.pod | 4 ++--
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/crypto/bio/bio.h b/crypto/bio/bio.h
index 498cc32..6790aed 100644
--- a/crypto/bio/bio.h
+++ b/crypto/bio/bio.h
@@ -689,7 +689,7 @@ long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi,
                         long argl, long ret);
 
 BIO_METHOD *BIO_s_mem(void);
-BIO *BIO_new_mem_buf(void *buf, int len);
+BIO *BIO_new_mem_buf(const void *buf, int len);
 BIO_METHOD *BIO_s_socket(void);
 BIO_METHOD *BIO_s_connect(void);
 BIO_METHOD *BIO_s_accept(void);
diff --git a/crypto/bio/bss_mem.c b/crypto/bio/bss_mem.c
index d190765..b0394a9 100644
--- a/crypto/bio/bss_mem.c
+++ b/crypto/bio/bss_mem.c
@@ -91,7 +91,8 @@ BIO_METHOD *BIO_s_mem(void)
     return (&mem_method);
 }
 
-BIO *BIO_new_mem_buf(void *buf, int len)
+
+BIO *BIO_new_mem_buf(const void *buf, int len)
 {
     BIO *ret;
     BUF_MEM *b;
@@ -105,7 +106,8 @@ BIO *BIO_new_mem_buf(void *buf, int len)
     if (!(ret = BIO_new(BIO_s_mem())))
         return NULL;
     b = (BUF_MEM *)ret->ptr;
-    b->data = buf;
+    /* Cast away const and trust in the MEM_RDONLY flag. */
+    b->data = (void *)buf;
     b->length = sz;
     b->max = sz;
     ret->flags |= BIO_FLAGS_MEM_RDONLY;
diff --git a/doc/crypto/BIO_s_mem.pod b/doc/crypto/BIO_s_mem.pod
index 8f85e0d..9f23964 100644
--- a/doc/crypto/BIO_s_mem.pod
+++ b/doc/crypto/BIO_s_mem.pod
@@ -16,7 +16,7 @@ BIO_get_mem_ptr, BIO_new_mem_buf - memory BIO
  BIO_set_mem_buf(BIO *b,BUF_MEM *bm,int c)
  BIO_get_mem_ptr(BIO *b,BUF_MEM **pp)
 
- BIO *BIO_new_mem_buf(void *buf, int len);
+ BIO *BIO_new_mem_buf(const void *buf, int len);
 
 =head1 DESCRIPTION
 
@@ -61,7 +61,7 @@ BIO_get_mem_ptr() places the underlying BUF_MEM structure in B<pp>. It is
 a macro.
 
 BIO_new_mem_buf() creates a memory BIO using B<len> bytes of data at B<buf>,
-if B<len> is -1 then the B<buf> is assumed to be null terminated and its
+if B<len> is -1 then the B<buf> is assumed to be nul terminated and its
 length is determined by B<strlen>. The BIO is set to a read only state and
 as a result cannot be written to. This is useful when some data needs to be
 made available from a static area of memory in the form of a BIO. The


More information about the openssl-commits mailing list