diff options
Diffstat (limited to 'src/lib/libssl/s3_clnt.c')
| -rw-r--r-- | src/lib/libssl/s3_clnt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index b55b2e62c6..8dbeb5ce80 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_clnt.c,v 1.83 2014/07/12 22:33:39 jsing Exp $ */ | 1 | /* $OpenBSD: s3_clnt.c,v 1.84 2014/07/17 11:32:21 miod Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -1678,6 +1678,11 @@ ssl3_get_certificate_request(SSL *s) | |||
| 1678 | } | 1678 | } |
| 1679 | 1679 | ||
| 1680 | for (nc = 0; nc < llen; ) { | 1680 | for (nc = 0; nc < llen; ) { |
| 1681 | if (p + 2 - d > n) { | ||
| 1682 | SSLerr(SSL_F_SSL3_GET_CERTIFICATE_REQUEST, | ||
| 1683 | SSL_R_DATA_LENGTH_TOO_LONG); | ||
| 1684 | goto err; | ||
| 1685 | } | ||
| 1681 | n2s(p, l); | 1686 | n2s(p, l); |
| 1682 | if ((l + nc + 2) > llen) { | 1687 | if ((l + nc + 2) > llen) { |
| 1683 | if ((s->options & SSL_OP_NETSCAPE_CA_DN_BUG)) | 1688 | if ((s->options & SSL_OP_NETSCAPE_CA_DN_BUG)) |
