Fix ssl3_read_bytes handshake fragment bug
The move of CCS into the state machine introduced a bug in ssl3_read_bytes. The value of |recvd_type| was not being set if we are satisfying the request from handshake fragment storage. This can occur, for example, with renegotiation and causes the handshake to fail. Reviewed-by: Tim Hudson <tjh@openssl.org>
This commit is contained in:
parent
c69f2adf71
commit
e9f6b9a1a5
@ -1012,6 +1012,10 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
|
||||
/* move any remaining fragment bytes: */
|
||||
for (k = 0; k < s->rlayer.handshake_fragment_len; k++)
|
||||
s->rlayer.handshake_fragment[k] = *src++;
|
||||
|
||||
if (recvd_type != NULL)
|
||||
*recvd_type = SSL3_RT_HANDSHAKE;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user