From: Daniel Stenberg <daniel@haxx.se>
Date: Wed, 20 Aug 2008 19:29:00 +0000 (+0000)
Subject: - Phil Pellouchoud pointed out that the windows version of libcurl had a
X-Git-Tag: cares-1_5_3~104
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3743f515cfc5ed1b6c7bb301ceca5bafdbcc1360;p=curl

- Phil Pellouchoud pointed out that the windows version of libcurl had a
  memory leak because it never called the OpenSSL function
  CRYPTO_cleanup_all_ex_data() as it was supposed to. This was because of a
  missing define in config-win32.h!
---

diff --git a/CHANGES b/CHANGES
index da0197802..b542d43c8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
 
                                   Changelog
 
+Daniel Stenberg (20 Aug 2008)
+- Phil Pellouchoud pointed out that the windows version of libcurl had a
+  memory leak because it never called the OpenSSL function
+  CRYPTO_cleanup_all_ex_data() as it was supposed to. This was because of a
+  missing define in config-win32.h!
+
 Yang Tse (18 Aug 2008)
 - Added test case 557 to verify libcurl's internal curl_m*printf() functions
   formatting functionality when handling signed and unsigned longs, as well as
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index b1697aeaa..64601a8ae 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -54,6 +54,7 @@ This release includes the following bugfixes:
  o FTP sessions could go out of sync on a long header boundary condition
  o potential buffer overflows in the MS-DOS command-line port fixed
  o --stderr is now honoured with the -v option
+ o memory leak in libcurl on Windows built with OpenSSL
 
 This release includes the following known bugs:
 
diff --git a/lib/config-win32.h b/lib/config-win32.h
index 25484eb7a..7169bf2ec 100644
--- a/lib/config-win32.h
+++ b/lib/config-win32.h
@@ -172,6 +172,10 @@
 /* Define if you have the `RAND_status' function when using SSL. */
 #define HAVE_RAND_STATUS 1
 
+/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function.
+   This is present in OpenSSL versions after 0.9.6b */
+#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
+
 /* Define if you have the select function.  */
 #define HAVE_SELECT 1
 
@@ -351,7 +355,7 @@
 #define HAVE_VARIADIC_MACROS_C99 1
 #endif
 
-/* Define if the compiler supports LONGLONG. */
+/* Define if the compiler supports the 'long long' data type. */
 #if defined(__MINGW32__) || defined(__WATCOMC__)
 #define HAVE_LONGLONG 1
 #endif