On Thu, May 24, 2012, Sudarshan Raghavan wrote:

> Hi,
> 
> I am using CRYPTO_set_mem_functions to use our own custom memory
> routines in a non blocking proxy implementation. This was working fine
> in 0.9.8 and 1.0.0 but with 1.0.1c I can see that the custom free
> routine is being invoked with a NULL argument after calling SSL_free
> and this results in the proxy crashing.
> 
> #3  0x0828bd24 in CUSTOM_FREE (oldMem=0x0) at custom_mem.c:340
> #4  0xb75342b4 in CRYPTO_free () from
> /home/product/code/firmware/current/lib/openssl1.0/lib/libcrypto.so.1.0.0
> #5  0x00000000 in ?? ()
> 
> This happens every time the SSL connections is torn down. If I don't
> use CRYPTO_set_mem_functions it works fine. I am assuming the default
> free routine ignores a NULL argument. Is it an expectation from the
> custom free routine to also ignore NULL? I can provide more
> information if needed. Can someone help me debug this problem.
> 

Well you need to compile OpenSSL with debugging symbols and find precisely
where this is happening with a stack trace. OpenSSL shoudln't be attempting to
free a NULL so this is a bug which should be fixed.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to