Bug 1523175 - land NSS NSS_3_43_BETA1 UPGRADE_NSS_RELEASE, r=me
authorJ.C. Jones <jc@mozilla.com>
Fri, 08 Mar 2019 22:44:27 +0000
changeset 521239 d652c07b0c04
parent 521238 0537da28038a
child 521240 ec939d4f81dc
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersme
bugs1523175
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1523175 - land NSS NSS_3_43_BETA1 UPGRADE_NSS_RELEASE, r=me
security/nss/TAG-INFO
security/nss/coreconf/coreconf.dep
security/nss/lib/pk11wrap/pk11akey.c
--- a/security/nss/TAG-INFO
+++ b/security/nss/TAG-INFO
@@ -1,1 +1,1 @@
-a306d84e4c70
+NSS_3_43_BETA1
--- a/security/nss/coreconf/coreconf.dep
+++ b/security/nss/coreconf/coreconf.dep
@@ -5,9 +5,8 @@
 
 /*
  * A dummy header file that is a dependency for all the object files.
  * Used to force a full recompilation of NSS in Mozilla's Tinderbox
  * depend builds.  See comments in rules.mk.
  */
 
 #error "Do not include this header file."
-
--- a/security/nss/lib/pk11wrap/pk11akey.c
+++ b/security/nss/lib/pk11wrap/pk11akey.c
@@ -1678,18 +1678,18 @@ PK11_MakeKEAPubKey(unsigned char *keyDat
 }
 
 SECStatus
 SECKEY_SetPublicValue(SECKEYPrivateKey *privKey, SECItem *publicValue)
 {
     SECStatus rv;
     SECKEYPublicKey pubKey;
     PLArenaPool *arena;
-    PK11SlotInfo *slot = privKey->pkcs11Slot;
-    CK_OBJECT_HANDLE privKeyID = privKey->pkcs11ID;
+    PK11SlotInfo *slot;
+    CK_OBJECT_HANDLE privKeyID;
 
     if (privKey == NULL || publicValue == NULL ||
         publicValue->data == NULL || publicValue->len == 0) {
         PORT_SetError(SEC_ERROR_INVALID_ARGS);
         return SECFailure;
     }
 
     pubKey.arena = NULL;
@@ -1699,16 +1699,19 @@ SECKEY_SetPublicValue(SECKEYPrivateKey *
     /* can't use PORT_InitCheapArena here becase SECKEY_DestroyPublic is used
       * to free it, and it uses PORT_FreeArena which not only frees the 
       * underlying arena, it also frees the allocated arena struct. */
     arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
     pubKey.arena = arena;
     if (arena == NULL) {
         return SECFailure;
     }
+
+    slot = privKey->pkcs11Slot;
+    privKeyID = privKey->pkcs11ID;
     rv = SECFailure;
     switch (privKey->keyType) {
         default:
             /* error code already set to SECFailure */
             break;
         case rsaKey:
             pubKey.u.rsa.modulus = *publicValue;
             rv = PK11_ReadAttribute(slot, privKeyID, CKA_PUBLIC_EXPONENT,