diff options
author | tb <> | 2018-08-24 19:47:25 +0000 |
---|---|---|
committer | tb <> | 2018-08-24 19:47:25 +0000 |
commit | 78839b084d2c63cfe49dbc9373306c75c033f866 (patch) | |
tree | 2ba74b91b41812dfa017436d8615435ba2b5faf2 | |
parent | 6293082abd1637ba78f1778c0a9aa9ada5446c9a (diff) | |
download | openbsd-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.c | 7 |
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; |