Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: nss/lib/pk11wrap/pk11cert.c

Issue 319593003: Update to NSS 3.16.2 Beta 3. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Remove unused function SEC_NumberOrNameStringToOIDTag Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 /* 4 /*
5 * This file manages PKCS #11 instances of certificates. 5 * This file manages PKCS #11 instances of certificates.
6 */ 6 */
7 7
8 #include "secport.h" 8 #include "secport.h"
9 #include "seccomon.h" 9 #include "seccomon.h"
10 #include "secmod.h" 10 #include "secmod.h"
(...skipping 963 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 nssCertificateStore_Unlock(cc->certStore, &lockTrace, &unlockTrace); 974 nssCertificateStore_Unlock(cc->certStore, &lockTrace, &unlockTrace);
975 c->object.cryptoContext = NULL; 975 c->object.cryptoContext = NULL;
976 cert->istemp = PR_FALSE; 976 cert->istemp = PR_FALSE;
977 cert->isperm = PR_TRUE; 977 cert->isperm = PR_TRUE;
978 } 978 }
979 979
980 /* add the new instance to the cert, force an update of the 980 /* add the new instance to the cert, force an update of the
981 * CERTCertificate, and finish 981 * CERTCertificate, and finish
982 */ 982 */
983 nssPKIObject_AddInstance(&c->object, certobj); 983 nssPKIObject_AddInstance(&c->object, certobj);
984 /* nssTrustDomain_AddCertsToCache may release a reference to 'c' and
985 * replace 'c' by a different value. So we add a reference to 'c' to
986 * prevent 'c' from being destroyed. */
987 nssCertificate_AddRef(c);
Ryan Sleevi 2014/06/05 00:22:30 I wonder if this is responsible for the crashes we
wtc 2014/06/05 03:00:10 Yes, this is the best lead I have. I found PK11_Im
984 nssTrustDomain_AddCertsToCache(STAN_GetDefaultTrustDomain(), &c, 1); 988 nssTrustDomain_AddCertsToCache(STAN_GetDefaultTrustDomain(), &c, 1);
989 /* XXX should we pass the original value of 'c' to
990 * STAN_ForceCERTCertificateUpdate? */
985 (void)STAN_ForceCERTCertificateUpdate(c); 991 (void)STAN_ForceCERTCertificateUpdate(c);
992 nssCertificate_Destroy(c);
986 SECITEM_FreeItem(keyID,PR_TRUE); 993 SECITEM_FreeItem(keyID,PR_TRUE);
987 return SECSuccess; 994 return SECSuccess;
988 loser: 995 loser:
989 CERT_MapStanError(); 996 CERT_MapStanError();
990 SECITEM_FreeItem(keyID,PR_TRUE); 997 SECITEM_FreeItem(keyID,PR_TRUE);
991 if (PORT_GetError() != SEC_ERROR_TOKEN_NOT_LOGGED_IN) { 998 if (PORT_GetError() != SEC_ERROR_TOKEN_NOT_LOGGED_IN) {
992 PORT_SetError(SEC_ERROR_ADDING_CERT); 999 PORT_SetError(SEC_ERROR_ADDING_CERT);
993 } 1000 }
994 return SECFailure; 1001 return SECFailure;
995 } 1002 }
(...skipping 1679 matching lines...) Expand 10 before | Expand all | Expand 10 after
2675 } 2682 }
2676 if (!found) { 2683 if (!found) {
2677 PK11_FreeSlotList(slotList); 2684 PK11_FreeSlotList(slotList);
2678 PORT_SetError(SEC_ERROR_NO_TOKEN); 2685 PORT_SetError(SEC_ERROR_NO_TOKEN);
2679 slotList = NULL; 2686 slotList = NULL;
2680 } 2687 }
2681 2688
2682 nssCryptokiObjectArray_Destroy(instances); 2689 nssCryptokiObjectArray_Destroy(instances);
2683 return slotList; 2690 return slotList;
2684 } 2691 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698