make update
[openssl.git] / rsaref / rsaref.c
index a2febddbfd42a7af13c64c9ef147b209ffb7dd3f..ae70feb3e9b0e246d07d0891ef0087cb34c96d61 100644 (file)
@@ -209,11 +209,6 @@ int RSA_ref_private_decrypt(int len, unsigned char *from, unsigned char *to,
 
        if (!RSAref_Private_eay2ref(rsa,&RSAkey))
                goto err;
-       if (len > RSAref_MAX_LEN)
-               {
-               RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_DECRYPT,RSAREF_R_LEN);
-               goto err;
-               }
        if ((i=RSAPrivateDecrypt(to,&outlen,from,len,&RSAkey)) != 0)
                {
                RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_DECRYPT,i);
@@ -237,11 +232,6 @@ int RSA_ref_private_encrypt(int len, unsigned char *from, unsigned char *to,
        }
        if (!RSAref_Private_eay2ref(rsa,&RSAkey))
                goto err;
-       if (len + 3 > RSAref_MAX_LEN)
-               {
-               RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_ENCRYPT,RSAREF_R_LEN);
-               goto err;
-               }
        if ((i=RSAPrivateEncrypt(to,&outlen,from,len,&RSAkey)) != 0)
                {
                RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_ENCRYPT,i);
@@ -260,11 +250,6 @@ int RSA_ref_public_decrypt(int len, unsigned char *from, unsigned char *to,
 
        if (!RSAref_Public_eay2ref(rsa,&RSAkey))
                goto err;
-       if (len > RSAref_MAX_LEN)
-               {
-               RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_DECRYPT,RSAREF_R_LEN);
-               goto err;
-               }
        if ((i=RSAPublicDecrypt(to,&outlen,from,len,&RSAkey)) != 0)
                {
                RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_DECRYPT,i);
@@ -294,18 +279,14 @@ int RSA_ref_public_encrypt(int len, unsigned char *from, unsigned char *to,
        R_GetRandomBytesNeeded((unsigned int *)&i,&rnd);
        while (i > 0)
                {
-               RAND_bytes(buf,16);
+               if (RAND_bytes(buf,16) <= 0)
+                       goto err;
                R_RandomUpdate(&rnd,buf,(unsigned int)((i>16)?16:i));
                i-=16;
                }
 
        if (!RSAref_Public_eay2ref(rsa,&RSAkey))
                goto err;
-       if (len + 3 > RSAref_MAX_LEN)
-               {
-               RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_ENCRYPT,RSAREF_R_LEN);
-               goto err;
-               }
        if ((i=RSAPublicEncrypt(to,&outlen,from,len,&RSAkey,&rnd)) != 0)
                {
                RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_ENCRYPT,i);
@@ -318,4 +299,10 @@ err:
        memset(&rnd,0,sizeof(rnd));
        return(outlen);
        }
+#else /* !NO_RSA */
+
+# if PEDANTIC
+static void *dummy=&dummy;
+# endif
+
 #endif