From 157150ca915c9cdc5190a656d016fdac6e4275c6 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 6 Dec 2018 15:01:52 +0100 Subject: [PATCH] charon-cmd: Register atexit() handler for libcharon_deinit twice Similar to cbe9e575eef5, this avoids issues with libraries that are pulled in via plugins and register their own atexit() handlers. --- src/charon-cmd/charon-cmd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c index 82bc3ee84..e85e21d5c 100644 --- a/src/charon-cmd/charon-cmd.c +++ b/src/charon-cmd/charon-cmd.c @@ -348,6 +348,9 @@ int main(int argc, char *argv[]) { exit(SS_RC_INITIALIZATION_FAILED); } + /* register this again after loading plugins to avoid issues with libraries + * that register atexit() handlers */ + atexit(libcharon_deinit); if (!lib->caps->drop(lib->caps)) { exit(SS_RC_INITIALIZATION_FAILED);