Commit a38a159b authored by Daniel Kahn Gillmor's avatar Daniel Kahn Gillmor Committed by Rich Salz
Browse files

RT4129: BUF_new_mem_buf should take const void *



Signed-off-by: default avatarRich Salz <rsalz@akamai.com>
Reviewed-by: default avatarDr. Stephen Henson <steve@openssl.org>
(cherry picked from commit 8ab31975)
parent e0fde613
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+4 −2
Original line number Diff line number Diff line
@@ -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;
+2 −2
Original line number Diff line number Diff line
@@ -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