Don't round up partitioned premaster secret length if there is only one

digest in use: this caused the PRF to fail for an odd premaster secret
length.
This commit is contained in:
Dr. Stephen Henson 2011-05-31 10:34:43 +00:00
parent eda3766b53
commit 1b2047c5c0

View File

@ -265,6 +265,8 @@ static int tls1_PRF(long digest_mask,
if ((m<<TLS1_PRF_DGST_SHIFT) & digest_mask) count++;
}
len=slen/count;
if (count == 1)
slen = 0;
S1=sec;
memset(out1,0,olen);
for (idx=0;ssl_get_handshake_digest(idx,&m,&md);idx++) {