summaryrefslogtreecommitdiffstats
path: root/crypto/rsa/rsa_pk1.c
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2000-01-13 20:59:17 +0000
committerUlf Möller <ulf@openssl.org>2000-01-13 20:59:17 +0000
commiteb952088f0d5da59e569ae2aa33e9b96bc3b586d (patch)
tree1d722a423148a6b568a1e6d42f01943aed6cfb2a /crypto/rsa/rsa_pk1.c
parent22e219d90f1ea5d3b2f4abb72c846a436ea33eff (diff)
Precautions against using the PRNG uninitialized: RAND_bytes() now
returns int (1 = ok, 0 = not seeded). New function RAND_add() is the same as RAND_seed() but takes an estimate of the entropy as an additional argument.
Diffstat (limited to 'crypto/rsa/rsa_pk1.c')
-rw-r--r--crypto/rsa/rsa_pk1.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c
index f0ae51f234..b35eb62682 100644
--- a/crypto/rsa/rsa_pk1.c
+++ b/crypto/rsa/rsa_pk1.c
@@ -155,12 +155,14 @@ int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen,
/* pad out with non-zero random data */
j=tlen-3-flen;
- RAND_bytes(p,j);
+ if (RAND_bytes(p,j) <= 0)
+ return(0);
for (i=0; i<j; i++)
{
if (*p == '\0')
do {
- RAND_bytes(p,1);
+ if (RAND_bytes(p,1) <= 0)
+ return(0);
} while (*p == '\0');
p++;
}