aboutsummaryrefslogtreecommitdiff
path: root/openvpn.c
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2008-06-04 07:23:20 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2008-06-04 07:23:20 +0000
commitf7a66767251bdbb0e727b636d8abb036c1a043b5 (patch)
tree4c8e90317e48b86d9aaffa5a7f2fcf09deee939f /openvpn.c
parentFixed an issue in extract_x509_field_ssl where the extraction (diff)
downloadopenvpn-f7a66767251bdbb0e727b636d8abb036c1a043b5.tar.xz
Fixed unbounded memory growth bug in
environmental variable code that could have caused long-running OpenVPN sessions with many TLS renegotiations to incrementally increase memory usage over time. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@2981 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'openvpn.c')
-rw-r--r--openvpn.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/openvpn.c b/openvpn.c
index d3c36f9..f1bf169 100644
--- a/openvpn.c
+++ b/openvpn.c
@@ -130,7 +130,7 @@ main (int argc, char *argv[])
gc_init (&c.gc);
/* initialize environmental variable store */
- c.es = env_set_create (&c.gc);
+ c.es = env_set_create (NULL);
#ifdef ENABLE_MANAGEMENT
/* initialize management subsystem */
@@ -233,6 +233,8 @@ main (int argc, char *argv[])
context_gc_free (&c);
+ env_set_destroy (c.es);
+
#ifdef ENABLE_MANAGEMENT
/* close management interface */
close_management ();