From 51613d105bd039a2de456415ef9779871aa4b417 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 1 Nov 2010 12:30:51 -0400 Subject: [PATCH 087/150] - try to clean up the duplicate detection here - stop trying to free the pem module slot, that was wrong --- src/plugins/preauth/pkinit/pkinit_crypto_nss.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_nss.c b/src/plugins/preauth/pkinit/pkinit_crypto_nss.c index 3210348..f401de8 100644 --- a/src/plugins/preauth/pkinit/pkinit_crypto_nss.c +++ b/src/plugins/preauth/pkinit/pkinit_crypto_nss.c @@ -2009,6 +2009,7 @@ crypto_load_files(krb5_context context, CK_ATTRIBUTE attrs[4]; CK_BBOOL cktrue = CK_TRUE, cktrust; CK_OBJECT_CLASS keyclass = CKO_PRIVATE_KEY, certclass = CKO_CERTIFICATE; + SECItem a, b; SECStatus status; int n_attrs; @@ -2089,14 +2090,16 @@ crypto_load_files(krb5_context context, !CERT_LIST_END(anode, after); anode = CERT_LIST_NEXT(anode)) { match = PR_FALSE; + a = anode->cert->derCert; if (before != NULL) { for (bnode = CERT_LIST_HEAD(before); (bnode != NULL) && (bnode->cert != NULL) && !CERT_LIST_END(bnode, before); bnode = CERT_LIST_NEXT(bnode)) { - if (SECITEM_ItemsAreEqual(&anode->cert->derCert, - &bnode->cert->derCert)) { + b = bnode->cert->derCert; + if (SECITEM_ItemsAreEqual(&a, + &b)) { match = PR_TRUE; break; } @@ -2129,7 +2132,6 @@ crypto_load_files(krb5_context context, CERT_DestroyCertList(before); } } - PK11_FreeSlot(slot); return status; } -- 1.7.6.4