From 24c3cdce88f39731506c287cb276e8bf4a1ce393 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Wed, 2 Jul 2014 16:34:48 +0200 Subject: tool: call PR_Cleanup() on exit if NSPR is used This prevents valgrind from reporting possibly lost memory that NSPR uses for file descriptor cache and other globally allocated internal data structures. --- RELEASE-NOTES | 1 + src/tool_main.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 66b43066f..5e7c3c13e 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -36,6 +36,7 @@ This release includes the following bugfixes: o Curl_rand: Use a fake entropy for debug builds when CURL_ENTROPY set o nss: do not abort on connection failure (failing tests 305 and 404) o nss: make the fallback to SSLv3 work again + o tool: prevent valgrind from reporting possibly lost memory (nss only) o This release includes the following known bugs: diff --git a/src/tool_main.c b/src/tool_main.c index ef96dc3a4..dc980e00c 100644 --- a/src/tool_main.c +++ b/src/tool_main.c @@ -27,6 +27,10 @@ #include #endif +#ifdef USE_NSS +#include +#endif + #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" @@ -205,6 +209,11 @@ static void main_free(struct GlobalConfig *config) curl_global_cleanup(); convert_cleanup(); metalink_cleanup(); +#ifdef USE_NSS + if(PR_Initialized()) + /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */ + PR_Cleanup(); +#endif free_config_fields(config); /* Free the config structures */ -- cgit v1.2.3