From: Steffan Karger Date: Wed, 29 Aug 2018 13:49:43 +0000 (+0200) Subject: Fix memory leak after sighup X-Git-Tag: v2.4.7~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8fcfe1d449a64e1ce61e361dc593ff52293b41f2;p=thirdparty%2Fopenvpn.git Fix memory leak after sighup The c.es env_set is (re)allocated for each "sighup loop iteration", while it was free'd only once at process shutdown. Move the env_set_destroy() call to match the same level as the env_set_create() call to fix that. Signed-off-by: Steffan Karger Acked-by: Arne Schwabe Message-Id: <1535550583-21825-1-git-send-email-steffan.karger@fox-it.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17429.html Signed-off-by: Gert Doering (cherry picked from commit 7170bef507bfe74ceb4a12f8f10df4d2d6ad39c9) --- diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c index b9e914a84..381988958 100644 --- a/src/openvpn/openvpn.c +++ b/src/openvpn/openvpn.c @@ -329,6 +329,7 @@ openvpn_main(int argc, char *argv[]) } while (c.sig->signal_received == SIGUSR1); + env_set_destroy(c.es); uninit_options(&c.options); gc_reset(&c.gc); } @@ -337,8 +338,6 @@ openvpn_main(int argc, char *argv[]) context_gc_free(&c); - env_set_destroy(c.es); - #ifdef ENABLE_MANAGEMENT /* close management interface */ close_management();