diff --git a/src/auth.c b/src/auth.c index 82fbf939..0b1c5868 100644 --- a/src/auth.c +++ b/src/auth.c @@ -114,7 +114,7 @@ void auth_release (auth_t *authenticator) if (authenticator->free) authenticator->free (authenticator); - free (authenticator->type); + xmlFree (authenticator->type); free (authenticator); } diff --git a/src/cfgfile.c b/src/cfgfile.c index 3e8ca69d..649fe6ed 100644 --- a/src/cfgfile.c +++ b/src/cfgfile.c @@ -211,6 +211,7 @@ void config_clear(ice_config_t *c) option = nextopt; } + auth_release (mount->auth); free(mount); mount = nextmount; } diff --git a/src/main.c b/src/main.c index be2eaf1b..1e99f001 100644 --- a/src/main.c +++ b/src/main.c @@ -108,18 +108,19 @@ static void _shutdown_subsystems(void) xslt_shutdown(); refbuf_shutdown(); slave_shutdown(); + auth_shutdown(); yp_shutdown(); stats_shutdown(); - /* Now that these are done, we can stop the loggers. */ - _stop_logging(); - global_shutdown(); connection_shutdown(); config_shutdown(); resolver_shutdown(); sock_shutdown(); thread_shutdown(); + + /* Now that these are done, we can stop the loggers. */ + _stop_logging(); log_shutdown(); xmlCleanupParser();