# include <openssl/evp.h>
# include <openssl/modes.h>
# include <openssl/rand.h>
+# include <openssl/rand_drbg.h>
# include "internal/aria.h"
# include "internal/evp_int.h"
-# include "internal/rand.h"
# include "modes_lcl.h"
# include "evp_locl.h"
return 0;
if (arg)
memcpy(gctx->iv, ptr, arg);
- if (EVP_CIPHER_CTX_encrypting(c)) {
- if (c->drbg != NULL) {
- if (RAND_DRBG_bytes(c->drbg, gctx->iv + arg, gctx->ivlen - arg) == 0)
- return 0;
- } else if (RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0) {
- return 0;
- }
- }
+ if (EVP_CIPHER_CTX_encrypting(c)
+ && RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0)
+ return 0;
gctx->iv_gen = 1;
return 1;