Bug 1306103, fix error result, r=rrelyea NSS_3_21_BRANCH
authorKai Engert <kaie@kuix.de>
Thu, 13 Oct 2016 17:10:47 +0200 (2016-10-13)
branchNSS_3_21_BRANCH
changeset 12712 45c047d18ac4c2f01c9ee87af444171bdc851586
parent 12711 daded44ef31d699a0c9e41df96ccbfa399d31568
child 12722 cb438f27902d4259a8425e705c2db1833d7786ee
push id1662
push userkaie@kuix.de
push dateThu, 13 Oct 2016 15:11:43 +0000 (2016-10-13)
reviewersrrelyea
bugs1306103
Bug 1306103, fix error result, r=rrelyea
lib/ssl/ssl3con.c
--- a/lib/ssl/ssl3con.c
+++ b/lib/ssl/ssl3con.c
@@ -9914,16 +9914,17 @@ ssl3_HandleDHClientKeyExchange(sslSocket
     if (isTLS) target = CKM_TLS_MASTER_KEY_DERIVE_DH;
     else target = CKM_SSL3_MASTER_KEY_DERIVE_DH;
 
     /*  Determine the PMS */
     pms = PK11_PubDerive(serverKey, &clntPubKey, PR_FALSE, NULL, NULL,
                          CKM_DH_PKCS_DERIVE, target, CKA_DERIVE, 0, NULL);
     if (pms == NULL) {
 	ssl_MapLowLevelError(SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE);
+	rv = SECFailure;
 	goto loser;
     }
 
     rv = ssl3_InitPendingCipherSpec(ss,  pms);
     PK11_FreeSymKey(pms); pms = NULL;
 
 loser:
     if (ss->dheKeyPair) {