summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2015-02-17 20:46:36 +0000
committerJakub Zelenka <bukka@php.net>2015-02-17 20:46:36 +0000
commit0676f39ee4f062da47255e3f477fa9857d2a0b52 (patch)
treed9b840873a88b51ba993aff1b8bc8f07bb88375d
parentc3bd8cd8a9a0e5d2bef4bd9d2134de54fb7250b0 (diff)
downloadphp-git-0676f39ee4f062da47255e3f477fa9857d2a0b52.tar.gz
Remove unnecessary resource checks in openssl ext
The resource val is already checking Z_TYPE_P(val) == IS_RESOURCE. There is no need to call extended resource fetch functions though.
-rw-r--r--ext/openssl/openssl.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 98904cc38e..1cb69585ae 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -1351,14 +1351,15 @@ static X509 * php_openssl_x509_from_zval(zval * val, int makeresource, zend_reso
if (Z_TYPE_P(val) == IS_RESOURCE) {
/* is it an x509 resource ? */
void * what;
+ zend_resource *res = Z_RES_P(val);
- what = zend_fetch_resource_ex(val, "OpenSSL X.509", le_x509);
+ what = zend_fetch_resource(res, "OpenSSL X.509", le_x509);
if (!what) {
return NULL;
}
/* this is so callers can decide if they should free the X509 */
if (resourceval) {
- *resourceval = Z_RES_P(val);
+ *resourceval = res;
Z_ADDREF_P(val);
}
return (X509*)what;
@@ -2762,11 +2763,12 @@ static X509_REQ * php_openssl_csr_from_zval(zval * val, int makeresource, zend_r
}
if (Z_TYPE_P(val) == IS_RESOURCE) {
void * what;
+ zend_resource *res = Z_RES_P(val);
- what = zend_fetch_resource_ex(val, "OpenSSL X.509 CSR", le_csr);
+ what = zend_fetch_resource(res, "OpenSSL X.509 CSR", le_csr);
if (what) {
if (resourceval) {
- *resourceval = Z_RES_P(val);
+ *resourceval = res;
Z_ADDREF_P(val);
}
return (X509_REQ*)what;
@@ -3219,20 +3221,21 @@ static EVP_PKEY * php_openssl_evp_from_zval(zval * val, int public_key, char * p
if (Z_TYPE_P(val) == IS_RESOURCE) {
void * what;
+ zend_resource * res = Z_RES_P(val);
- what = zend_fetch_resource2_ex(val, "OpenSSL X.509/key", le_x509, le_key);
+ what = zend_fetch_resource2(res, "OpenSSL X.509/key", le_x509, le_key);
if (!what) {
TMP_CLEAN;
}
if (resourceval) {
- *resourceval = Z_RES_P(val);
+ *resourceval = res;
Z_ADDREF_P(val);
}
- if (Z_RES_P(val)->type == le_x509) {
+ if (res->type == le_x509) {
/* extract key from cert, depending on public_key param */
cert = (X509*)what;
free_cert = 0;
- } else if (Z_RES_P(val)->type == le_key) {
+ } else if (res->type == le_key) {
int is_priv;
is_priv = php_openssl_is_private_key((EVP_PKEY*)what);