You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
1.1 KiB
25 lines
1.1 KiB
diff -up openssl-1.0.2i/crypto/evp/bio_enc.c.enc-fail openssl-1.0.2i/crypto/evp/bio_enc.c |
|
--- openssl-1.0.2i/crypto/evp/bio_enc.c.enc-fail 2016-09-22 12:23:06.000000000 +0200 |
|
+++ openssl-1.0.2i/crypto/evp/bio_enc.c 2016-09-22 13:58:24.592381002 +0200 |
|
@@ -307,8 +307,9 @@ static long enc_ctrl(BIO *b, int cmd, lo |
|
case BIO_CTRL_RESET: |
|
ctx->ok = 1; |
|
ctx->finished = 0; |
|
- EVP_CipherInit_ex(&(ctx->cipher), NULL, NULL, NULL, NULL, |
|
- ctx->cipher.encrypt); |
|
+ if (!EVP_CipherInit_ex(&(ctx->cipher), NULL, NULL, NULL, NULL, |
|
+ ctx->cipher.encrypt)) |
|
+ ctx->ok = 0; |
|
ret = BIO_ctrl(b->next_bio, cmd, num, ptr); |
|
break; |
|
case BIO_CTRL_EOF: /* More to read */ |
|
@@ -430,7 +431,8 @@ void BIO_set_cipher(BIO *b, const EVP_CI |
|
|
|
b->init = 1; |
|
ctx = (BIO_ENC_CTX *)b->ptr; |
|
- EVP_CipherInit_ex(&(ctx->cipher), c, NULL, k, i, e); |
|
+ if (!EVP_CipherInit_ex(&(ctx->cipher), c, NULL, k, i, e)) |
|
+ ctx->ok = 0; |
|
|
|
if (b->callback != NULL) |
|
b->callback(b, BIO_CB_CTRL, (const char *)c, BIO_CTRL_SET, e, 1L);
|
|
|