diff options
author | wyllys <none@none> | 2007-04-23 17:39:53 -0700 |
---|---|---|
committer | wyllys <none@none> | 2007-04-23 17:39:53 -0700 |
commit | b4058258308bb6a33809f15962013af85f890c36 (patch) | |
tree | ef4631b9994d351f9c03d5aecc851a7fac1cc033 /usr/src | |
parent | 9b14cf1dc76dad8f2d9a74310e0a0200af96d217 (diff) | |
download | illumos-gate-b4058258308bb6a33809f15962013af85f890c36.tar.gz |
6549186 OpenSSL_FindCert incorrectly tracks matched certificates
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c b/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c index 28a331a65b..d483810090 100644 --- a/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c +++ b/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c @@ -1051,7 +1051,7 @@ OpenSSL_FindCert(KMF_HANDLE_T handle, /* If load succeeds, add certdata to the list */ if (kmf_cert != NULL) { for (i = 0; i < loaded_certs && - i < maxcerts; i++) { + n < maxcerts; i++) { kmf_cert[n].certificate.Data = certlist[i].Data; kmf_cert[n].certificate.Length = @@ -1065,7 +1065,10 @@ OpenSSL_FindCert(KMF_HANDLE_T handle, strdup(fname); n++; } - /* If maxcerts < loaded_certs, clean up */ + /* + * If maxcerts < loaded_certs, clean up the + * certs that were not used. + */ for (; i < loaded_certs; i++) KMF_FreeData(&certlist[i]); } else { |