summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/socket/ssl_client_socket_win.cc20
1 files changed, 13 insertions, 7 deletions
diff --git a/net/socket/ssl_client_socket_win.cc b/net/socket/ssl_client_socket_win.cc
index 7212095..3d1841b 100644
--- a/net/socket/ssl_client_socket_win.cc
+++ b/net/socket/ssl_client_socket_win.cc
@@ -1091,13 +1091,19 @@ int SSLClientSocketWin::DoPayloadDecrypt() {
received_ptr_ = NULL;
bytes_received_ = 0;
for (int i = 1; i < 4; i++) {
- if (!decrypted_ptr_ && buffers[i].BufferType == SECBUFFER_DATA) {
- decrypted_ptr_ = static_cast<char*>(buffers[i].pvBuffer);
- bytes_decrypted_ = buffers[i].cbBuffer;
- }
- if (!received_ptr_ && buffers[i].BufferType == SECBUFFER_EXTRA) {
- received_ptr_ = static_cast<char*>(buffers[i].pvBuffer);
- bytes_received_ = buffers[i].cbBuffer;
+ switch (buffers[i].BufferType) {
+ case SECBUFFER_DATA:
+ DCHECK(!decrypted_ptr_ && bytes_decrypted_ == 0);
+ decrypted_ptr_ = static_cast<char*>(buffers[i].pvBuffer);
+ bytes_decrypted_ = buffers[i].cbBuffer;
+ break;
+ case SECBUFFER_EXTRA:
+ DCHECK(!received_ptr_ && bytes_received_ == 0);
+ received_ptr_ = static_cast<char*>(buffers[i].pvBuffer);
+ bytes_received_ = buffers[i].cbBuffer;
+ break;
+ default:
+ break;
}
}