diff options
author | ihciah <ihciah@gmail.com> | 2023-05-11 09:30:14 +0000 |
---|---|---|
committer | Todd Short <todd.short@me.com> | 2023-08-04 10:30:58 -0400 |
commit | bcbc7d60679b79fa4347e33c865306dce41ed985 (patch) | |
tree | 6c679fda97f2d353cb6106ab7889a4ca692474c9 /crypto/evp | |
parent | e1b6ecbab41514f45e9c355d01400691f74041c4 (diff) |
bio: pass flags on BIO_ctrl to make flush retriable
Co-authored-by: suikammd <suikalala@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21298)
Diffstat (limited to 'crypto/evp')
-rw-r--r-- | crypto/evp/bio_b64.c | 1 | ||||
-rw-r--r-- | crypto/evp/bio_enc.c | 1 | ||||
-rw-r--r-- | crypto/evp/bio_ok.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/crypto/evp/bio_b64.c b/crypto/evp/bio_b64.c index 0292c678c9..4822d37ea4 100644 --- a/crypto/evp/bio_b64.c +++ b/crypto/evp/bio_b64.c @@ -496,6 +496,7 @@ static long b64_ctrl(BIO *b, int cmd, long num, void *ptr) } /* Finally flush the underlying BIO */ ret = BIO_ctrl(next, cmd, num, ptr); + BIO_copy_next_retry(b); break; case BIO_C_DO_STATE_MACHINE: diff --git a/crypto/evp/bio_enc.c b/crypto/evp/bio_enc.c index a284b6d9eb..4a2e5a8303 100644 --- a/crypto/evp/bio_enc.c +++ b/crypto/evp/bio_enc.c @@ -360,6 +360,7 @@ static long enc_ctrl(BIO *b, int cmd, long num, void *ptr) /* Finally flush the underlying BIO */ ret = BIO_ctrl(next, cmd, num, ptr); + BIO_copy_next_retry(b); break; case BIO_C_GET_CIPHER_STATUS: ret = (long)ctx->ok; diff --git a/crypto/evp/bio_ok.c b/crypto/evp/bio_ok.c index a07c9c5998..a72acfb39b 100644 --- a/crypto/evp/bio_ok.c +++ b/crypto/evp/bio_ok.c @@ -372,6 +372,7 @@ static long ok_ctrl(BIO *b, int cmd, long num, void *ptr) /* Finally flush the underlying BIO */ ret = BIO_ctrl(next, cmd, num, ptr); + BIO_copy_next_retry(b); break; case BIO_C_DO_STATE_MACHINE: BIO_clear_retry_flags(b); |