The new ClientHello PACKET code is missing a return value check.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
if (!ok)
return ((int)n);
s->first_packet = 0;
- PACKET_buf_init(&pkt, s->init_msg, n);
+ if (!PACKET_buf_init(&pkt, s->init_msg, n)) {
+ SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, ERR_R_INTERNAL_ERROR);
+ al = SSL_AD_INTERNAL_ERROR;
+ goto f_err;
+ }
/* First lets get s->client_version set correctly */
if (RECORD_LAYER_is_sslv2_record(&s->rlayer)) {