diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-20 23:50:11 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-20 23:50:11 +0000 |
commit | 1a7cb56cd60e0ccdc0135bead6f12a07f7dedd35 (patch) | |
tree | 4582f8de891b6d47f611ad41c9920a2a2b1f4d5c /net/third_party | |
parent | 929ee6479d6016026bc35bc3ecee26d08bbba19b (diff) | |
download | chromium_src-1a7cb56cd60e0ccdc0135bead6f12a07f7dedd35.zip chromium_src-1a7cb56cd60e0ccdc0135bead6f12a07f7dedd35.tar.gz chromium_src-1a7cb56cd60e0ccdc0135bead6f12a07f7dedd35.tar.bz2 |
Pick up the fix for NSS bug 718554 (a SSL_ForceHandshake bug).
SSL_ForceHandshake returns wrong positive results after sending
pending data. See https://bugzilla.mozilla.org/show_bug.cgi?id=718554.
Fortunately this bug doesn't affect Chromium because Chromium
compares the return value of SSL_ForceHandshake with SECSuccess (0).
R=agl@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9265015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118547 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/third_party')
-rw-r--r-- | net/third_party/nss/patches/handshakeshortwrite.patch | 4 | ||||
-rw-r--r-- | net/third_party/nss/ssl/sslsecur.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/net/third_party/nss/patches/handshakeshortwrite.patch b/net/third_party/nss/patches/handshakeshortwrite.patch index 68e4330..cb26d12 100644 --- a/net/third_party/nss/patches/handshakeshortwrite.patch +++ b/net/third_party/nss/patches/handshakeshortwrite.patch @@ -18,8 +18,8 @@ index 816b8f6..dc374e0 100644 + if (!ssl_SocketIsBlocking(ss)) { + ssl_GetXmitBufLock(ss); + if (ss->pendingBuf.len != 0) { -+ rv = ssl_SendSavedWriteData(ss); -+ if ((rv < 0) && (PORT_GetError() != PR_WOULD_BLOCK_ERROR)) { ++ int sent = ssl_SendSavedWriteData(ss); ++ if ((sent < 0) && (PORT_GetError() != PR_WOULD_BLOCK_ERROR)) { + ssl_ReleaseXmitBufLock(ss); + return SECFailure; + } diff --git a/net/third_party/nss/ssl/sslsecur.c b/net/third_party/nss/ssl/sslsecur.c index bb5f0eb..7105125 100644 --- a/net/third_party/nss/ssl/sslsecur.c +++ b/net/third_party/nss/ssl/sslsecur.c @@ -391,8 +391,8 @@ SSL_ForceHandshake(PRFileDesc *fd) if (!ssl_SocketIsBlocking(ss)) { ssl_GetXmitBufLock(ss); if (ss->pendingBuf.len != 0) { - rv = ssl_SendSavedWriteData(ss); - if ((rv < 0) && (PORT_GetError() != PR_WOULD_BLOCK_ERROR)) { + int sent = ssl_SendSavedWriteData(ss); + if ((sent < 0) && (PORT_GetError() != PR_WOULD_BLOCK_ERROR)) { ssl_ReleaseXmitBufLock(ss); return SECFailure; } |