diff options
author | Dmitry Stogov <dmitry@zend.com> | 2019-06-06 01:47:22 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2019-06-06 01:47:22 +0300 |
commit | 457392fa64692be0927ed641369370f02afb0420 (patch) | |
tree | e83d85fadb66cffa22fc119d3df60e72f2f9a007 /ext/openssl | |
parent | 90a2e4ba668e89e59301abfe71175b0c0d1f9b96 (diff) | |
download | php-git-457392fa64692be0927ed641369370f02afb0420.tar.gz |
Cheaper checks for exceptions thrown from __toString()
Diffstat (limited to 'ext/openssl')
-rw-r--r-- | ext/openssl/openssl.c | 20 | ||||
-rw-r--r-- | ext/openssl/xp_ssl.c | 8 |
2 files changed, 14 insertions, 14 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 7f287c8823..7d40c85882 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -2673,8 +2673,8 @@ static X509_STORE *php_openssl_setup_verify(zval *calist) if (calist && (Z_TYPE_P(calist) == IS_ARRAY)) { ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(calist), item) { - zend_string *str = zval_get_string(item); - if (EG(exception)) { + zend_string *str = zval_try_get_string(item); + if (UNEXPECTED(!str)) { return NULL; } @@ -3154,8 +3154,8 @@ static int php_openssl_make_REQ(struct php_x509_request * req, X509_REQ * csr, z if (strindex) { int nid = OBJ_txt2nid(ZSTR_VAL(strindex)); if (nid != NID_undef) { - zend_string *str_item = zval_get_string(item); - if (EG(exception)) { + zend_string *str_item = zval_try_get_string(item); + if (UNEXPECTED(!str_item)) { return FAILURE; } if (!X509_NAME_add_entry_by_NID(subj, nid, MBSTRING_UTF8, @@ -3237,8 +3237,8 @@ static int php_openssl_make_REQ(struct php_x509_request * req, X509_REQ * csr, z nid = OBJ_txt2nid(ZSTR_VAL(strindex)); if (nid != NID_undef) { - zend_string *str_item = zval_get_string(item); - if (EG(exception)) { + zend_string *str_item = zval_try_get_string(item); + if (UNEXPECTED(!str_item)) { return FAILURE; } if (!X509_NAME_add_entry_by_NID(subj, nid, MBSTRING_UTF8, (unsigned char*)ZSTR_VAL(str_item), -1, -1, 0)) { @@ -5369,8 +5369,8 @@ PHP_FUNCTION(openssl_pkcs7_encrypt) /* tack on extra headers */ if (zheaders) { ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(zheaders), strindex, zcertval) { - zend_string *str = zval_get_string(zcertval); - if (EG(exception)) { + zend_string *str = zval_try_get_string(zcertval); + if (UNEXPECTED(!str)) { goto clean_exit; } if (strindex) { @@ -5587,8 +5587,8 @@ PHP_FUNCTION(openssl_pkcs7_sign) int ret; ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(zheaders), strindex, hval) { - zend_string *str = zval_get_string(hval); - if (EG(exception)) { + zend_string *str = zval_try_get_string(hval); + if (UNEXPECTED(!str)) { goto clean_exit; } if (strindex) { diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index ad08e1f13a..09d1bcbf3e 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -1484,8 +1484,8 @@ static int php_openssl_enable_server_sni(php_stream *stream, php_openssl_netstre return FAILURE; } - local_cert_str = zval_get_string(local_cert); - if (EG(exception)) { + local_cert_str = zval_try_get_string(local_cert); + if (UNEXPECTED(!local_cert_str)) { return FAILURE; } if (!VCWD_REALPATH(ZSTR_VAL(local_cert_str), resolved_cert_path_buff)) { @@ -1506,8 +1506,8 @@ static int php_openssl_enable_server_sni(php_stream *stream, php_openssl_netstre return FAILURE; } - local_pk_str = zval_get_string(local_pk); - if (EG(exception)) { + local_pk_str = zval_try_get_string(local_pk); + if (UNEXPECTED(!local_pk_str)) { return FAILURE; } if (!VCWD_REALPATH(ZSTR_VAL(local_pk_str), resolved_pk_path_buff)) { |