Skip to contentSkip to conversation

Fix memory leak after sighup

PATCH In review Steffan Karger 3 participants 3 messages Aug 29, 2018 – Sep 3, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 src/openvpn/openvpn.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
src/openvpn/openvpn.c +1 -2
index b9e914a..3819889 100644
@@ -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();
Signature · 1 line
2.7.4
Acked-by on v1 1/1
#1 lore raw

Am 29.08.18 um 15:49 schrieb Steffan Karger:

Quoted 4 lines

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.

This like the right fix and even though the leak is small we should fix it nevertheless.

Arne

#2 lore raw
In reply to Steffan Karger

Your patch has been applied to the master and release/2.4 branch (bugfix).

commit 7170bef507bfe74ceb4a12f8f10df4d2d6ad39c9 (master) commit 8fcfe1d449a64e1ce61e361dc593ff52293b41f2 (release/2.4)

Author: Steffan Karger
Date:   Wed Aug 29 15:49:43 2018 +0200
     Fix memory leak after sighup

     Signed-off-by: Steffan Karger <[email protected]...>
     Acked-by: Arne Schwabe <[email protected]...>
     Message-Id: <[email protected]...>
     URL: https://www.mail-archive.com/[email protected]/msg17429.html
     Signed-off-by: Gert Doering <[email protected]...>

--
kind regards,

Gert Doering