From cf3404fcc77aaf592c95326cbdd25612a8af6878 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Mon, 25 Apr 2016 13:56:44 +0100 Subject: Change the return type of EVP_EncodeUpdate Previously EVP_EncodeUpdate returned a void. However there are a couple of error conditions that can occur. Therefore the return type has been changed to an int, with 0 indicating error and 1 indicating success. Reviewed-by: Rich Salz --- crypto/evp/bio_b64.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'crypto/evp/bio_b64.c') diff --git a/crypto/evp/bio_b64.c b/crypto/evp/bio_b64.c index 9067848578..32a884a711 100644 --- a/crypto/evp/bio_b64.c +++ b/crypto/evp/bio_b64.c @@ -403,9 +403,10 @@ static int b64_write(BIO *b, const char *in, int inl) ret += n; } } else { - EVP_EncodeUpdate(ctx->base64, - (unsigned char *)ctx->buf, &ctx->buf_len, - (unsigned char *)in, n); + if (!EVP_EncodeUpdate(ctx->base64, + (unsigned char *)ctx->buf, &ctx->buf_len, + (unsigned char *)in, n)) + return ((ret == 0) ? -1 : ret); OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf)); OPENSSL_assert(ctx->buf_len >= ctx->buf_off); ret += n; -- cgit v1.2.3