summaryrefslogtreecommitdiff
path: root/ext/openssl/openssl.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2017-05-18 12:10:17 +0200
committerAnatol Belski <ab@php.net>2017-05-18 12:10:17 +0200
commitf8f8f24024474bbffa3c33cc22affdde2d098eb1 (patch)
tree4f782e31b6b3527aaa2d8cd272d86b6083c92f51 /ext/openssl/openssl.c
parentb627e33a8dd514718fb8999fdbf6b961e35012e3 (diff)
parent26f217bf4078096707b916f33db4e8e37b016093 (diff)
downloadphp-git-f8f8f24024474bbffa3c33cc22affdde2d098eb1.tar.gz
Merge branch 'PHP-7.1'
* PHP-7.1: follow up fix on bug #74022
Diffstat (limited to 'ext/openssl/openssl.c')
-rw-r--r--ext/openssl/openssl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 389bb820fe..1babead6c4 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -2940,6 +2940,7 @@ PHP_FUNCTION(openssl_pkcs12_read)
if (d2i_PKCS12_bio(bio_in, &p12) && PKCS12_parse(p12, pass, &pkey, &cert, &ca)) {
BIO * bio_out;
+ int cert_num;
zval_dtor(zout);
array_init(zout);
@@ -2970,10 +2971,11 @@ PHP_FUNCTION(openssl_pkcs12_read)
BIO_free(bio_out);
}
- if (ca && sk_X509_num(ca)) {
+ cert_num = sk_X509_num(ca);
+ if (ca && cert_num) {
array_init(&zextracerts);
- for (i = 0; i < sk_X509_num(ca); i++) {
+ for (i = 0; i < cert_num; i++) {
zval zextracert;
X509* aCA = sk_X509_pop(ca);
if (!aCA) break;