Fix OCSP_RESPID processing bug introduced by WPACKET changes

An OCSP_RESPID in a status request extension has 2 bytes for the length
not 1.

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Matt Caswell 2016-09-13 23:59:11 +01:00
parent 73f0df8331
commit dd8710dc54
1 changed files with 1 additions and 1 deletions

View File

@ -1209,7 +1209,7 @@ int ssl_add_clienthello_tlsext(SSL *s, WPACKET *pkt, int *al)
idlen = i2d_OCSP_RESPID(id, NULL); idlen = i2d_OCSP_RESPID(id, NULL);
if (idlen <= 0 if (idlen <= 0
/* Sub-packet for an individual id */ /* Sub-packet for an individual id */
|| !WPACKET_sub_allocate_bytes_u8(pkt, idlen, &idbytes) || !WPACKET_sub_allocate_bytes_u16(pkt, idlen, &idbytes)
|| i2d_OCSP_RESPID(id, &idbytes) != idlen) { || i2d_OCSP_RESPID(id, &idbytes) != idlen) {
SSLerr(SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT, ERR_R_INTERNAL_ERROR); SSLerr(SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT, ERR_R_INTERNAL_ERROR);
return 0; return 0;