| OLD | NEW |
| (Empty) | |
| 1 diff -pu -r a/net/third_party/nss/ssl/sslinfo.c b/net/third_party/nss/ssl/sslinf
o.c |
| 2 --- a/net/third_party/nss/ssl/sslinfo.c 2012-08-03 16:54:31.000000000 -0700 |
| 3 +++ b/net/third_party/nss/ssl/sslinfo.c 2012-11-12 16:14:30.596704310 -0800 |
| 4 @@ -342,8 +342,13 @@ SSL_ExportKeyingMaterial(PRFileDesc *fd, |
| 5 return SECFailure; |
| 6 } |
| 7 |
| 8 + ssl_GetRecvBufLock(ss); |
| 9 + ssl_GetSSL3HandshakeLock(ss); |
| 10 + |
| 11 if (ss->version < SSL_LIBRARY_VERSION_3_1_TLS) { |
| 12 PORT_SetError(SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION); |
| 13 + ssl_ReleaseSSL3HandshakeLock(ss); |
| 14 + ssl_ReleaseRecvBufLock(ss); |
| 15 return SECFailure; |
| 16 } |
| 17 |
| 18 @@ -354,13 +359,17 @@ SSL_ExportKeyingMaterial(PRFileDesc *fd, |
| 19 } |
| 20 val = PORT_Alloc(valLen); |
| 21 if (!val) { |
| 22 + ssl_ReleaseSSL3HandshakeLock(ss); |
| 23 + ssl_ReleaseRecvBufLock(ss); |
| 24 return SECFailure; |
| 25 } |
| 26 i = 0; |
| 27 + |
| 28 PORT_Memcpy(val + i, &ss->ssl3.hs.client_random.rand, SSL3_RANDOM_LENGTH); |
| 29 i += SSL3_RANDOM_LENGTH; |
| 30 PORT_Memcpy(val + i, &ss->ssl3.hs.server_random.rand, SSL3_RANDOM_LENGTH); |
| 31 i += SSL3_RANDOM_LENGTH; |
| 32 + |
| 33 if (hasContext) { |
| 34 val[i++] = contextLen >> 8; |
| 35 val[i++] = contextLen; |
| 36 @@ -381,6 +390,8 @@ SSL_ExportKeyingMaterial(PRFileDesc *fd, |
| 37 valLen, out, outLen); |
| 38 } |
| 39 ssl_ReleaseSpecReadLock(ss); |
| 40 + ssl_ReleaseSSL3HandshakeLock(ss); |
| 41 + ssl_ReleaseRecvBufLock(ss); |
| 42 |
| 43 PORT_ZFree(val, valLen); |
| 44 return rv; |
| OLD | NEW |