Fix memory leak when RAND is used: need to cleanup

RANDs ENGINE reference in ENGINE_cleanup().
This commit is contained in:
Dr. Stephen Henson 2001-06-21 12:19:10 +00:00
parent b8ffcf49ed
commit ed5538dc2b
2 changed files with 5 additions and 3 deletions

View File

@ -856,7 +856,8 @@ int ENGINE_clear_defaults(void)
#endif
!ENGINE_set_default_RAND(NULL) ||
!ENGINE_set_default_BN_mod_exp(NULL) ||
!ENGINE_set_default_BN_mod_exp_crt(NULL))
!ENGINE_set_default_BN_mod_exp_crt(NULL) ||
!RAND_set_rand_method(NULL))
return 0;
return 1;
}

View File

@ -74,11 +74,12 @@ int RAND_set_rand_method(ENGINE *engine)
{
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