diff --git a/src/charon/plugins/sql/pool.c b/src/charon/plugins/sql/pool.c index 7d393b6f7..d45c5799e 100644 --- a/src/charon/plugins/sql/pool.c +++ b/src/charon/plugins/sql/pool.c @@ -637,8 +637,13 @@ int main(int argc, char *argv[]) } operation = OP_USAGE; dbg = dbg_stderr; - library_init(STRONGSWAN_CONF); atexit(library_deinit); + + /* initialize library */ + if (!library_init(STRONGSWAN_CONF)) + { + exit(SS_RC_LIBSTRONGSWAN_INTEGRITY); + } lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, lib->settings->get_str(lib->settings, "pool.load", PLUGINS)); diff --git a/src/openac/openac.c b/src/openac/openac.c index b7d303d12..408da7f0c 100755 --- a/src/openac/openac.c +++ b/src/openac/openac.c @@ -282,7 +282,11 @@ int main(int argc, char **argv) openlog("openac", 0, LOG_AUTHPRIV); /* initialize library */ - library_init(STRONGSWAN_CONF); + if (!library_init(STRONGSWAN_CONF)) + { + library_deinit(); + exit(SS_RC_LIBSTRONGSWAN_INTEGRITY); + } lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, lib->settings->get_str(lib->settings, "openac.load", PLUGINS)); diff --git a/src/scepclient/scepclient.c b/src/scepclient/scepclient.c index 1139cc25a..88dd28521 100644 --- a/src/scepclient/scepclient.c +++ b/src/scepclient/scepclient.c @@ -386,8 +386,14 @@ int main(int argc, char **argv) scep_response = chunk_empty; log_to_stderr = TRUE; - /* initialize library and optionsfrom */ - library_init(STRONGSWAN_CONF); + /* initialize library */ + if (!library_init(STRONGSWAN_CONF)) + { + library_deinit(); + exit(SS_RC_LIBSTRONGSWAN_INTEGRITY); + } + + /* initialize optionsfrom */ options = options_create(); for (;;)