Clean up and fix php_openssl_dh_pub_from_priv

This commit is contained in:
Jakub Zelenka 2016-11-27 18:54:28 +00:00
parent 461add8adf
commit 0f4216298f

View File

@ -4092,7 +4092,7 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data)
/* }}} */ /* }}} */
/* {{{ php_openssl_dh_pub_from_priv */ /* {{{ php_openssl_dh_pub_from_priv */
static BIGNUM *php_openssl_dh_pub_from_priv(DH *dh, BIGNUM *priv_key, BIGNUM *g, BIGNUM *p) static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p)
{ {
BIGNUM *pub_key, *priv_key_const_time; BIGNUM *pub_key, *priv_key_const_time;
BN_CTX *ctx; BN_CTX *ctx;
@ -4110,7 +4110,7 @@ static BIGNUM *php_openssl_dh_pub_from_priv(DH *dh, BIGNUM *priv_key, BIGNUM *g,
return NULL; return NULL;
} }
ctx = BN_CTX_new(); ctx = BN_CTX_new();
if (priv_key_const_time == NULL) { if (ctx == NULL) {
BN_free(pub_key); BN_free(pub_key);
BN_free(priv_key_const_time); BN_free(priv_key_const_time);
php_openssl_store_errors(); php_openssl_store_errors();
@ -4150,7 +4150,7 @@ zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data)
return DH_set0_key(dh, pub_key, priv_key); return DH_set0_key(dh, pub_key, priv_key);
} }
if (priv_key) { if (priv_key) {
pub_key = php_openssl_dh_pub_from_priv(dh, priv_key, g, p); pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p);
if (pub_key == NULL) { if (pub_key == NULL) {
return 0; return 0;
} }