From 148c38fbb9d9852d81a0d5c0c2b7cf651957c2a2 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 6 Aug 2018 11:42:46 +0200 Subject: [PATCH] Main: use AtScopeExit() to delete the Instance --- src/Main.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Main.cxx b/src/Main.cxx index a5e8d70a3..c789cb913 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -502,6 +502,10 @@ MainOrThrow(int argc, char *argv[]) log_init(raw_config, options.verbose, options.log_stderr); instance = new Instance(); + AtScopeExit() { + delete instance; + instance = nullptr; + }; #ifdef ENABLE_NEIGHBOR_PLUGINS instance->neighbors = new NeighborGlue(); @@ -713,8 +717,6 @@ mpd_main_after_fork(const ConfigData &raw_config, const Config &config) #ifndef ANDROID SignalHandlersFinish(); #endif - delete instance; - instance = nullptr; return EXIT_SUCCESS; }