summaryrefslogtreecommitdiffstats
path: root/crypto/conf
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2002-02-15 00:33:35 +0000
committerDr. Stephen Henson <steve@openssl.org>2002-02-15 00:33:35 +0000
commit834d37ed86ad54936ba8a11e781303d5df950bb4 (patch)
treecc38f2b7bfe40481fcbec11bd5e0ccdd172e5d20 /crypto/conf
parentadcc235ef6411110854e22898671ae48c69cda5e (diff)
Don't call finish function if it isn't set.
Fix OID module.
Diffstat (limited to 'crypto/conf')
-rw-r--r--crypto/conf/conf_mod.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c
index 426d69337f..c548d0f27b 100644
--- a/crypto/conf/conf_mod.c
+++ b/crypto/conf/conf_mod.c
@@ -256,11 +256,6 @@ static CONF_MODULE *module_load_dso(const CONF *cnf, char *name, char *value,
goto err;
}
ffunc = (conf_finish_func *)DSO_bind_func(dso, DSO_mod_finish_name);
- if (!ffunc)
- {
- errcode = CONF_R_MISSING_FINISH_FUNCTION;
- goto err;
- }
/* All OK, add module */
md = module_add(dso, name, ifunc, ffunc);
@@ -458,7 +453,8 @@ void CONF_modules_finish(void)
static void module_finish(CONF_IMODULE *imod)
{
- imod->pmod->finish(imod);
+ if (imod->pmod->finish)
+ imod->pmod->finish(imod);
imod->pmod->links--;
OPENSSL_free(imod->name);
OPENSSL_free(imod->value);