X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbio%2Fbf_buff.c;h=361d26a5b73dd6a23d6698005b9bb480efc66e8b;hp=53a120465a712da67290b76784038ac08287df78;hb=b7b8e948014d93e1eb6d954d0799ae68ab0e068b;hpb=b548a1f11c06ccdfa4f52a539912d22d77ee309e diff --git a/crypto/bio/bf_buff.c b/crypto/bio/bf_buff.c index 53a120465a..361d26a5b7 100644 --- a/crypto/bio/bf_buff.c +++ b/crypto/bio/bf_buff.c @@ -1,4 +1,3 @@ -/* crypto/bio/bf_buff.c */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -58,8 +57,8 @@ #include #include -#include "cryptlib.h" -#include +#include "bio_lcl.h" +#include "internal/cryptlib.h" static int buffer_write(BIO *h, const char *buf, int num); static int buffer_read(BIO *h, char *buf, int size); @@ -71,7 +70,7 @@ static int buffer_free(BIO *data); static long buffer_callback_ctrl(BIO *h, int cmd, bio_info_cb *fp); #define DEFAULT_BUFFER_SIZE 4096 -static BIO_METHOD methods_buffer = { +static const BIO_METHOD methods_buffer = { BIO_TYPE_BUFFER, "buffer", buffer_write, @@ -84,35 +83,30 @@ static BIO_METHOD methods_buffer = { buffer_callback_ctrl, }; -BIO_METHOD *BIO_f_buffer(void) +const BIO_METHOD *BIO_f_buffer(void) { return (&methods_buffer); } static int buffer_new(BIO *bi) { - BIO_F_BUFFER_CTX *ctx; + BIO_F_BUFFER_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); - ctx = OPENSSL_malloc(sizeof(BIO_F_BUFFER_CTX)); if (ctx == NULL) return (0); + ctx->ibuf_size = DEFAULT_BUFFER_SIZE; ctx->ibuf = OPENSSL_malloc(DEFAULT_BUFFER_SIZE); if (ctx->ibuf == NULL) { OPENSSL_free(ctx); return (0); } + ctx->obuf_size = DEFAULT_BUFFER_SIZE; ctx->obuf = OPENSSL_malloc(DEFAULT_BUFFER_SIZE); if (ctx->obuf == NULL) { OPENSSL_free(ctx->ibuf); OPENSSL_free(ctx); return (0); } - ctx->ibuf_size = DEFAULT_BUFFER_SIZE; - ctx->obuf_size = DEFAULT_BUFFER_SIZE; - ctx->ibuf_len = 0; - ctx->ibuf_off = 0; - ctx->obuf_len = 0; - ctx->obuf_off = 0; bi->init = 1; bi->ptr = (char *)ctx;