forked from pool/openssl
6cfdd4b39b
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openssl?expand=0&rev=54
29 lines
720 B
Diff
29 lines
720 B
Diff
Index: openssl-1.0.0c/ssl/t1_lib.c
|
|
===================================================================
|
|
--- openssl-1.0.0c.orig/ssl/t1_lib.c
|
|
+++ openssl-1.0.0c/ssl/t1_lib.c
|
|
@@ -917,6 +917,7 @@ int ssl_parse_clienthello_tlsext(SSL *s,
|
|
}
|
|
n2s(data, idsize);
|
|
dsize -= 2 + idsize;
|
|
+ size -= 2 + idsize;
|
|
if (dsize < 0)
|
|
{
|
|
*al = SSL_AD_DECODE_ERROR;
|
|
@@ -955,9 +956,14 @@ int ssl_parse_clienthello_tlsext(SSL *s,
|
|
}
|
|
|
|
/* Read in request_extensions */
|
|
+ if (size < 2)
|
|
+ {
|
|
+ *al = SSL_AD_DECODE_ERROR;
|
|
+ return 0;
|
|
+ }
|
|
n2s(data,dsize);
|
|
size -= 2;
|
|
- if (dsize > size)
|
|
+ if (dsize != size)
|
|
{
|
|
*al = SSL_AD_DECODE_ERROR;
|
|
return 0;
|