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
This commit is contained in:
james 2008-06-04 07:23:20 +00:00
parent 9712c4c6a0
commit f7a6676725
3 changed files with 18 additions and 2 deletions

View File

@ -114,3 +114,17 @@
Memcheck:Cond
obj:/lib/ld-2.5.so
}
{
<insert a suppression name here>
Memcheck:Leak
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
obj:/usr/lib/libssl.so.0.9.8
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
fun:init_ssl_lib
fun:init_static
fun:main
}

2
doval
View File

@ -1,2 +1,2 @@
#!/bin/bash
valgrind --tool=memcheck --error-limit=no --suppressions=debug/valgrind-suppress --gen-suppressions=all --leak-check=yes --num-callers=32 $*
valgrind --tool=memcheck --error-limit=no --suppressions=debug/valgrind-suppress --gen-suppressions=all --leak-check=full --show-reachable=yes --num-callers=32 $*

View File

@ -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 ();