Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>

Fix padding bugs in Heartbeat support.
This commit is contained in:
Dr. Stephen Henson
2012-02-27 16:38:10 +00:00
parent 4ed1f3490e
commit a54ce007e6
2 changed files with 6 additions and 2 deletions

View File

@@ -1478,8 +1478,9 @@ dtls1_process_heartbeat(SSL *s)
*bp++ = TLS1_HB_RESPONSE; *bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp); s2n(payload, bp);
memcpy(bp, pl, payload); memcpy(bp, pl, payload);
bp += payload;
/* Random padding */ /* Random padding */
RAND_pseudo_bytes(p, padding); RAND_pseudo_bytes(bp, padding);
r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding); r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding);

View File

@@ -2467,7 +2467,10 @@ tls1_process_heartbeat(SSL *s)
*bp++ = TLS1_HB_RESPONSE; *bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp); s2n(payload, bp);
memcpy(bp, pl, payload); memcpy(bp, pl, payload);
bp += payload;
/* Random padding */
RAND_pseudo_bytes(bp, padding);
r = ssl3_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding); r = ssl3_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding);
if (r >= 0 && s->msg_callback) if (r >= 0 && s->msg_callback)