1 (edited by skoulik 2012-07-18 20:30:52)

Topic: Memory leak in wolfSSL 2.2.0 (libcurl 7.26.0)

Greetings,

I've discovered wolfSSL 2.2.0 embedded SSL constantly leaking 1 byte and 128 byte blocks when used from inside libcurl to access https URL.

I've narrowed down the problem to function internal.c:DoServerKeyExchange()

I made a tentative fix that seems to resolve the problem for me, but I am unsure if it breaks another usecases.

My setup:
Architecture: LM32 nommu
OS: uClinux
libcurl 7.26.0
wolfSSl 2.2.0

CONFIGURE_ARGS += \
        --disable-shared \
        --enable-static \
        --without-zlib \
        --enable-opensslExtra \
        --enable-singleThreaded

Update:
attachments seem to not work on this forum, here is the patch

--- a/src/internal.c    2012-05-18 11:05:13.000000000 +1100
+++ b/src/internal.c    2012-07-19 13:44:47.012029364 +1100
@@ -4380,6 +4380,9 @@
             return MEMORY_ERROR;
         XMEMCPY(ssl->buffers.serverDH_Pub.buffer, &input[*inOutIdx], length);
         *inOutIdx += length;
+
+        ssl->buffers.weOwnDH = 1;
+
         }  /* dh_kea */
     #endif /* OPENSSL_EXTRA */

Share

Re: Memory leak in wolfSSL 2.2.0 (libcurl 7.26.0)

Hi,

Thanks for the report and the fix - we'll look into it.

Best Regards,
Chris

Re: Memory leak in wolfSSL 2.2.0 (libcurl 7.26.0)

It looks like the leak was fixed last week in our GitHub repo, thanks!