diff options
Diffstat (limited to 'src/libstrongswan/library.c')
-rw-r--r-- | src/libstrongswan/library.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libstrongswan/library.c b/src/libstrongswan/library.c index f152a8c1f..e3ad16411 100644 --- a/src/libstrongswan/library.c +++ b/src/libstrongswan/library.c @@ -141,11 +141,13 @@ void library_deinit() { lib->leak_detective->report(lib->leak_detective, detailed); lib->leak_detective->destroy(lib->leak_detective); + lib->leak_detective = NULL; } + backtrace_deinit(); arrays_deinit(); + utils_deinit(); threads_deinit(); - backtrace_deinit(); free((void*)this->public.ns); free(this); @@ -249,6 +251,8 @@ bool library_init(char *settings, const char *namespace) return !this->integrity_failed; } + chunk_hash_seed(); + INIT(this, .public = { .get = _get, @@ -259,9 +263,10 @@ bool library_init(char *settings, const char *namespace) ); lib = &this->public; - backtrace_init(); threads_init(); + utils_init(); arrays_init(); + backtrace_init(); #ifdef LEAK_DETECTIVE lib->leak_detective = leak_detective_create(); |