diff options
author | Steffan Karger | 2018-08-29 15:49:43 +0200 |
---|---|---|
committer | Gert Doering | 2018-09-03 10:28:19 +0200 |
commit | 7170bef507bfe74ceb4a12f8f10df4d2d6ad39c9 (patch) | |
tree | e27f937e80431d4b7e9c1d06b6520d5e7af98dd7 /src/openvpn/openvpn.c | |
parent | dd1da0e485a3d161feb5230b6aa57df11ea72705 (diff) | |
download | openvpn-7170bef507bfe74ceb4a12f8f10df4d2d6ad39c9.zip openvpn-7170bef507bfe74ceb4a12f8f10df4d2d6ad39c9.tar.gz |
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 <steffan.karger@fox-it.com>
Acked-by: Arne Schwabe <arne@rfc2549.org>
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 <gert@greenie.muc.de>
Diffstat (limited to 'src/openvpn/openvpn.c')
-rw-r--r-- | src/openvpn/openvpn.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c index b9e914a..3819889 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(); |