From: Dmitry Stogov Date: Wed, 11 Jul 2007 07:27:20 +0000 (+0000) Subject: Fixed crash on non-string passphrase and unicode support X-Git-Tag: BEFORE_IMPORT_OF_MYSQLND~255 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f54b1377a2eb09cca87aad57855c8c23a2ee98cf;p=php Fixed crash on non-string passphrase and unicode support --- diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 7402efaca5..921806c3bf 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -2258,6 +2258,7 @@ static EVP_PKEY * php_openssl_evp_from_zval(zval ** val, int public_key, char * } else { tmp = **zphrase; zval_copy_ctor(&tmp); + convert_to_string(&tmp); passphrase = Z_STRVAL(tmp); } @@ -2313,7 +2314,7 @@ static EVP_PKEY * php_openssl_evp_from_zval(zval ** val, int public_key, char * /* passing non string values leaks, object uses toString, it returns NULL * bug38255.phpt */ - if (!(Z_TYPE_PP(val) == IS_STRING || Z_TYPE_PP(val) == IS_OBJECT)) { + if (!(Z_TYPE_PP(val) == IS_STRING || Z_TYPE_PP(val) == IS_UNICODE || Z_TYPE_PP(val) == IS_OBJECT)) { TMP_CLEAN; } convert_to_string_ex(val);