summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2018-08-24 19:47:25 +0000
committertb <>2018-08-24 19:47:25 +0000
commit78839b084d2c63cfe49dbc9373306c75c033f866 (patch)
tree2ba74b91b41812dfa017436d8615435ba2b5faf2
parent6293082abd1637ba78f1778c0a9aa9ada5446c9a (diff)
downloadopenbsd-78839b084d2c63cfe49dbc9373306c75c033f866.tar.gz
openbsd-78839b084d2c63cfe49dbc9373306c75c033f866.tar.bz2
openbsd-78839b084d2c63cfe49dbc9373306c75c033f866.zip
Check return value of EVP_EncodeUpdate() in b64_write().
ok jsing
-rw-r--r--src/lib/libcrypto/evp/bio_b64.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libcrypto/evp/bio_b64.c b/src/lib/libcrypto/evp/bio_b64.c
index a13d26a884..82aaa8bf7a 100644
--- a/src/lib/libcrypto/evp/bio_b64.c
+++ b/src/lib/libcrypto/evp/bio_b64.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_b64.c,v 1.21 2018/05/02 15:51:41 tb Exp $ */ 1/* $OpenBSD: bio_b64.c,v 1.22 2018/08/24 19:47:25 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -430,9 +430,10 @@ b64_write(BIO *b, const char *in, int inl)
430 ret += n; 430 ret += n;
431 } 431 }
432 } else { 432 } else {
433 EVP_EncodeUpdate(&(ctx->base64), 433 if (!EVP_EncodeUpdate(&(ctx->base64),
434 (unsigned char *)ctx->buf, &ctx->buf_len, 434 (unsigned char *)ctx->buf, &ctx->buf_len,
435 (unsigned char *)in, n); 435 (unsigned char *)in, n))
436 return ((ret == 0) ? -1 : ret);
436 OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf)); 437 OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf));
437 OPENSSL_assert(ctx->buf_len >= ctx->buf_off); 438 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
438 ret += n; 439 ret += n;