Correct pointer to be freed
The pointer that was freed in the SSLv2 section of ssl_bytes_to_cipher_list may have stepped up from its allocated position. Use a pointer that is guaranteed to point at the start of the allocated block instead. Reviewed-by: Kurt Roeckx <kurt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2312)
This commit is contained in:
parent
26a39fa953
commit
63414e64e6
1 changed files with 1 additions and 1 deletions
|
@ -3489,7 +3489,7 @@ STACK_OF(SSL_CIPHER) *ssl_bytes_to_cipher_list(SSL *s,
|
||||||
|| (leadbyte != 0
|
|| (leadbyte != 0
|
||||||
&& !PACKET_forward(&sslv2ciphers, TLS_CIPHER_LEN))) {
|
&& !PACKET_forward(&sslv2ciphers, TLS_CIPHER_LEN))) {
|
||||||
*al = SSL_AD_INTERNAL_ERROR;
|
*al = SSL_AD_INTERNAL_ERROR;
|
||||||
OPENSSL_free(raw);
|
OPENSSL_free(s->s3->tmp.ciphers_raw);
|
||||||
s->s3->tmp.ciphers_raw = NULL;
|
s->s3->tmp.ciphers_raw = NULL;
|
||||||
s->s3->tmp.ciphers_rawlen = 0;
|
s->s3->tmp.ciphers_rawlen = 0;
|
||||||
goto err;
|
goto err;
|
||||||
|
|
Loading…
Reference in a new issue