summaryrefslogtreecommitdiff
path: root/crypto/rsa/rsa_ssl.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/rsa/rsa_ssl.c')
-rw-r--r--crypto/rsa/rsa_ssl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/rsa/rsa_ssl.c b/crypto/rsa/rsa_ssl.c
index 9bcd4b2c03..42ee076800 100644
--- a/crypto/rsa/rsa_ssl.c
+++ b/crypto/rsa/rsa_ssl.c
@@ -103,11 +103,12 @@ int flen;
return(1);
}
-int RSA_padding_check_SSLv23(to,tlen,from,flen)
+int RSA_padding_check_SSLv23(to,tlen,from,flen,num)
unsigned char *to;
int tlen;
unsigned char *from;
int flen;
+int num;
{
int i,j,k;
unsigned char *p;
@@ -118,7 +119,7 @@ int flen;
RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23,RSA_R_DATA_TOO_SMALL);
return(-1);
}
- if (*(p++) != 02)
+ if ((num != (flen+1)) || (*(p++) != 02))
{
RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23,RSA_R_BLOCK_TYPE_IS_NOT_02);
return(-1);