diff options
| author | Gary Lin <glin@suse.com> | 2016-10-13 15:57:25 +0800 |
|---|---|---|
| committer | Peter Jones <pjones@redhat.com> | 2016-11-30 12:57:34 -0500 |
| commit | b371a682fb67ff945a8095437b9b33cab549bb49 (patch) | |
| tree | 55aa1f4552b1c96dbfd1b110e210cb7471ee06e4 /Cryptlib/OpenSSL/crypto/evp/bio_enc.c | |
| parent | 43ad947f6e7d1e899d86fd8ca66a55ffbc3ed2b2 (diff) | |
| download | efi-boot-shim-b371a682fb67ff945a8095437b9b33cab549bb49.tar.gz efi-boot-shim-b371a682fb67ff945a8095437b9b33cab549bb49.zip | |
Update to openssl 1.0.2j
Signed-off-by: Gary Lin <glin@suse.com>
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/evp/bio_enc.c')
| -rw-r--r-- | Cryptlib/OpenSSL/crypto/evp/bio_enc.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/Cryptlib/OpenSSL/crypto/evp/bio_enc.c b/Cryptlib/OpenSSL/crypto/evp/bio_enc.c index 363e0246..0806f233 100644 --- a/Cryptlib/OpenSSL/crypto/evp/bio_enc.c +++ b/Cryptlib/OpenSSL/crypto/evp/bio_enc.c @@ -201,9 +201,14 @@ static int enc_read(BIO *b, char *out, int outl) break; } } else { - EVP_CipherUpdate(&(ctx->cipher), - (unsigned char *)ctx->buf, &ctx->buf_len, - (unsigned char *)&(ctx->buf[BUF_OFFSET]), i); + if (!EVP_CipherUpdate(&ctx->cipher, + (unsigned char *)ctx->buf, &ctx->buf_len, + (unsigned char *)&(ctx->buf[BUF_OFFSET]), + i)) { + BIO_clear_retry_flags(b); + ctx->ok = 0; + return 0; + } ctx->cont = 1; /* * Note: it is possible for EVP_CipherUpdate to decrypt zero @@ -260,9 +265,13 @@ static int enc_write(BIO *b, const char *in, int inl) ctx->buf_off = 0; while (inl > 0) { n = (inl > ENC_BLOCK_SIZE) ? ENC_BLOCK_SIZE : inl; - EVP_CipherUpdate(&(ctx->cipher), - (unsigned char *)ctx->buf, &ctx->buf_len, - (unsigned char *)in, n); + if (!EVP_CipherUpdate(&ctx->cipher, + (unsigned char *)ctx->buf, &ctx->buf_len, + (unsigned char *)in, n)) { + BIO_clear_retry_flags(b); + ctx->ok = 0; + return 0; + } inl -= n; in += n; |
