diff options
author | Steven Valdez <svaldez@google.com> | 2016-02-24 22:00:22 +0300 |
---|---|---|
committer | David Benjamin <davidben@google.com> | 2016-02-24 22:14:19 +0300 |
commit | d8eea14443ab890b0a6d00a40d2dbf6d3bf79484 (patch) | |
tree | 27d37b28177519759484fbcf864683ef5cb9a1fe /crypto/bio | |
parent | a5ee83f67e83d4065d1aa40137e8dd8b1c83b3e5 (diff) |
BIO_new_mem_buf should take const void *
BIO_FLAGS_MEM_RDONLY keeps the invariant.
(Imported from upstream's a38a159bfcbc94214dda00e0e6b1fc6454a23b78)
Change-Id: I4cb35615d76b77929915e370dbb7fec1455da069
Reviewed-on: https://boringssl-review.googlesource.com/7214
Reviewed-by: David Benjamin <davidben@google.com>
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/bio_mem.c | 5 | ||||
-rw-r--r-- | crypto/bio/bio_test.cc | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/crypto/bio/bio_mem.c b/crypto/bio/bio_mem.c index 6864f6f1..844fba7e 100644 --- a/crypto/bio/bio_mem.c +++ b/crypto/bio/bio_mem.c @@ -64,7 +64,7 @@ #include <openssl/mem.h> -BIO *BIO_new_mem_buf(void *buf, int len) { +BIO *BIO_new_mem_buf(const void *buf, int len) { BIO *ret; BUF_MEM *b; const size_t size = len < 0 ? strlen((char *)buf) : (size_t)len; @@ -80,7 +80,8 @@ BIO *BIO_new_mem_buf(void *buf, int len) { } b = (BUF_MEM *)ret->ptr; - b->data = buf; + /* BIO_FLAGS_MEM_RDONLY ensures |b->data| is not written to. */ + b->data = (void *)buf; b->length = size; b->max = size; diff --git a/crypto/bio/bio_test.cc b/crypto/bio/bio_test.cc index bc755c10..3615ab46 100644 --- a/crypto/bio/bio_test.cc +++ b/crypto/bio/bio_test.cc @@ -331,7 +331,7 @@ static bool TestPrintf() { static bool ReadASN1(bool should_succeed, const uint8_t *data, size_t data_len, size_t expected_len, size_t max_len) { - ScopedBIO bio(BIO_new_mem_buf(const_cast<uint8_t*>(data), data_len)); + ScopedBIO bio(BIO_new_mem_buf(data, data_len)); uint8_t *out; size_t out_len; |