#include <stdio.h>
#include <time.h>
+#include "cryptlib.h"
#include <openssl/rand.h>
#include <openssl/engine.h>
{
ENGINE *mtmp;
mtmp = rand_engine;
- if (!ENGINE_init(engine))
+ if (engine && !ENGINE_init(engine))
return 0;
rand_engine = engine;
/* SHOULD ERROR CHECK THIS!!! */
- ENGINE_finish(mtmp);
+ if(mtmp)
+ ENGINE_finish(mtmp);
return 1;
}
#endif
{
if (rand_engine == NULL
&& (rand_engine = ENGINE_get_default_RAND()) == NULL)
+ {
+ RANDerr(RAND_F_RAND_GET_RAND_METHOD,ERR_LIB_ENGINE);
return NULL;
+ }
return ENGINE_get_RAND(rand_engine);
}