diff options
Diffstat (limited to 'openssl/crypto/evp/e_des3.c')
-rw-r--r-- | openssl/crypto/evp/e_des3.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/openssl/crypto/evp/e_des3.c b/openssl/crypto/evp/e_des3.c index 301d93e13..96f272eb8 100644 --- a/openssl/crypto/evp/e_des3.c +++ b/openssl/crypto/evp/e_des3.c @@ -447,7 +447,8 @@ static int des_ede3_wrap(EVP_CIPHER_CTX *ctx, unsigned char *out, memcpy(out + inl + 8, sha1tmp, 8); OPENSSL_cleanse(sha1tmp, SHA_DIGEST_LENGTH); /* Generate random IV */ - RAND_bytes(ctx->iv, 8); + if (RAND_bytes(ctx->iv, 8) <= 0) + return -1; memcpy(out, ctx->iv, 8); /* Encrypt everything after IV in place */ des_ede_cbc_cipher(ctx, out + 8, out + 8, inl + 8); |