summaryrefslogtreecommitdiff
path: root/ext/openssl
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-06-06 01:47:22 +0300
committerDmitry Stogov <dmitry@zend.com>2019-06-06 01:47:22 +0300
commit457392fa64692be0927ed641369370f02afb0420 (patch)
treee83d85fadb66cffa22fc119d3df60e72f2f9a007 /ext/openssl
parent90a2e4ba668e89e59301abfe71175b0c0d1f9b96 (diff)
downloadphp-git-457392fa64692be0927ed641369370f02afb0420.tar.gz
Cheaper checks for exceptions thrown from __toString()
Diffstat (limited to 'ext/openssl')
-rw-r--r--ext/openssl/openssl.c20
-rw-r--r--ext/openssl/xp_ssl.c8
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)) {