projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't install bss_file.c under PREFIX/include/. It was introduced by Eric
[oweals/openssl.git]
/
crypto
/
rsa
/
rsa_none.c
diff --git
a/crypto/rsa/rsa_none.c
b/crypto/rsa/rsa_none.c
index f0dd9436571a3ea96fcf670642cd361449e1099e..e944f84bec39c6b9146b539b27329314c3ac207f 100644
(file)
--- a/
crypto/rsa/rsa_none.c
+++ b/
crypto/rsa/rsa_none.c
@@
-68,42
+68,38
@@
int tlen;
unsigned char *from;
int flen;
{
unsigned char *from;
int flen;
{
- if (flen >
=
tlen)
+ if (flen > tlen)
{
RSAerr(RSA_F_RSA_PADDING_ADD_NONE,RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
return(0);
}
{
RSAerr(RSA_F_RSA_PADDING_ADD_NONE,RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
return(0);
}
+
+ if (flen < tlen)
+ {
+ RSAerr(RSA_F_RSA_PADDING_ADD_NONE,RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE);
+ return(0);
+ }
- *(to++)=0;
memcpy(to,from,(unsigned int)flen);
return(1);
}
memcpy(to,from,(unsigned 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;
unsigned char *to;
int tlen;
unsigned char *from;
int flen;
+int num;
{
{
- int j;
- from++;
- if (flen+1 > tlen)
+ if (flen > tlen)
{
RSAerr(RSA_F_RSA_PADDING_CHECK_NONE,RSA_R_DATA_TOO_LARGE);
return(-1);
}
{
RSAerr(RSA_F_RSA_PADDING_CHECK_NONE,RSA_R_DATA_TOO_LARGE);
return(-1);
}
- if (*(from++) != 0)
- {
- RSAerr(RSA_F_RSA_PADDING_CHECK_NONE,RSA_R_BAD_ZERO_BYTE);
- return(-1);
- }
- /* scan over padding data */
- j=flen-1; /* one for type and one for the prepended 0. */
- memset(to,0,tlen-j);
- to+=(tlen-j);
- memcpy(to,from,j);
- return(j);
+ memset(to,0,tlen-flen);
+ memcpy(to+tlen-flen,from,flen);
+ return(tlen);
}
}