summaryrefslogtreecommitdiffstats
path: root/crypto/bio
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2021-09-27 09:45:31 +0200
committerTomas Mraz <tomas@openssl.org>2021-09-28 12:13:10 +0200
commit1257c2047455a84956946963bf31cdb7336b3bad (patch)
treef9fa40c3c158742f161f4f125868f0559ee8f7dc /crypto/bio
parent51b5e8b8f8f8a9df2b2234bc2f777ad1430017bb (diff)
BIO_ctrl: Avoid spurious error being raised on NULL bio parameter
Some of the functions are being called on NULL bio with the expectation that such call will not raise an error. Fixes #16681 Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/16686) (cherry picked from commit 398ae8231650c4bd8ddff0e5efd38233c23b1ca0)
Diffstat (limited to 'crypto/bio')
-rw-r--r--crypto/bio/bio_lib.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/crypto/bio/bio_lib.c b/crypto/bio/bio_lib.c
index 25df70f760..b5454f14b2 100644
--- a/crypto/bio/bio_lib.c
+++ b/crypto/bio/bio_lib.c
@@ -563,10 +563,8 @@ long BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
{
long ret;
- if (b == NULL) {
- ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+ if (b == NULL)
return -1;
- }
if (b->method == NULL || b->method->ctrl == NULL) {
ERR_raise(ERR_LIB_BIO, BIO_R_UNSUPPORTED_METHOD);
return -2;
@@ -591,10 +589,8 @@ long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
{
long ret;
- if (b == NULL) {
- ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+ if (b == NULL)
return -2;
- }
if (b->method == NULL || b->method->callback_ctrl == NULL
|| cmd != BIO_CTRL_SET_CALLBACK) {
ERR_raise(ERR_LIB_BIO, BIO_R_UNSUPPORTED_METHOD);
@@ -655,10 +651,8 @@ BIO *BIO_pop(BIO *b)
{
BIO *ret;
- if (b == NULL) {
- ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+ if (b == NULL)
return NULL;
- }
ret = b->next_bio;
BIO_ctrl(b, BIO_CTRL_POP, 0, b);
@@ -728,10 +722,8 @@ BIO *BIO_find_type(BIO *bio, int type)
BIO *BIO_next(BIO *b)
{
- if (b == NULL) {
- ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+ if (b == NULL)
return NULL;
- }
return b->next_bio;
}