I've found out that on every operation with dynamically loadable engine
(mingw32 build) current head of OpenSSL_1_0_0-stable branch leaks two
40-bytes chunks of memory.

Investigation shows that 
functiin w32_merger has two local pointers of file_st structures, which
are allocated by w32_splitter function and never freeed unless error
occured.

Following patch fixes this problem:

Index: dso_win32.c
===================================================================
RCS file: /cvs-openssl/openssl/crypto/dso/dso_win32.c,v
retrieving revision 1.37
diff -u -r1.37 dso_win32.c
--- dso_win32.c 29 Dec 2008 12:35:47 -0000      1.37
+++ dso_win32.c 3 Jul 2009 11:19:01 -0000
@@ -621,6 +621,8 @@
 
                merged = win32_joiner(dso, filespec1_split);
                }
+       OPENSSL_free(filespec1_split);
+       OPENSSL_free(filespec2_split);
        return(merged);
        }
 


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to