diff options
Diffstat (limited to 'crypto/rsa/rsa_none.c')
-rw-r--r-- | crypto/rsa/rsa_none.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/rsa/rsa_none.c b/crypto/rsa/rsa_none.c index f0dd943657..6385b556be 100644 --- a/crypto/rsa/rsa_none.c +++ b/crypto/rsa/rsa_none.c @@ -79,11 +79,12 @@ int flen; return(1); } -int RSA_padding_check_none(to,tlen,from,flen) +int RSA_padding_check_none(to,tlen,from,flen,num) unsigned char *to; int tlen; unsigned char *from; int flen; +int num; { int j; @@ -93,7 +94,7 @@ int flen; RSAerr(RSA_F_RSA_PADDING_CHECK_NONE,RSA_R_DATA_TOO_LARGE); return(-1); } - if (*(from++) != 0) + if (flen+1 >= num) { RSAerr(RSA_F_RSA_PADDING_CHECK_NONE,RSA_R_BAD_ZERO_BYTE); return(-1); |