Memory leak in _gnutls_mpi_dprint_lz (possibly _gnutls_mpi_dprint)
Nikos Mavrogiannopoulos
nmav at gnutls.org
Sun Jun 29 11:08:14 CEST 2008
Sam Varshavchik wrote:
> I'm chasing a complaint from valgrind that I'm leaking memory.
> Here's valgrind's complaint:
>
> ==26738== 257 bytes in 1 blocks are definitely lost in loss record 2 of 4
> ==26738== at 0x4A0739E: malloc (vg_replace_malloc.c:207)
> ==26738== by 0x35068328F6: _gnutls_mpi_dprint_lz (gnutls_mpi.c:146)
> ==26738== by 0x350683E47C: _gnutls_dh_set_peer_public
> (gnutls_state.c:474)
> ==26738== by 0x3506843819: _gnutls_proc_dh_common_server_kx
> (auth_dh_common.c:297)
> ==26738== by 0x350683BB4F: proc_dhe_server_kx (auth_dhe.c:199)
> ==26738== by 0x350682AF81: _gnutls_recv_server_kx_message
> (gnutls_kx.c:339)
> ==26738== by 0x35068273DF: _gnutls_handshake_client
> (gnutls_handshake.c:2311)
> ==26738== by 0x3506827F77: gnutls_handshake (gnutls_handshake.c:2193)
>
>
> Here's what I've been able to figure out. I'm running gnutls 2.0.4, but
> I checked 2.4.0, and the affected bits have not changed, the following
> should still be applicable.
Hello Sam and thank you for there report. However is this issue present
in 2.4.x or 2.2.x? I've seen that there _gnutls_dh_set_peer_public() is
only called by:
_gnutls_proc_dh_common_client_kx (server side only)
_gnutls_proc_dh_common_server_kx (client side only)
Thus this leak could not have occurred.
> Second breakpoint hit:
>
> #0 _gnutls_dh_set_peer_public (session=0x144fcc0, public=0x1431a70)
> at gnutls_state.c:474
> #1 0x0000003506843b8f in _gnutls_gen_dh_common_client_kx (
> session=<value optimized out>, data=<value optimized out>)
> at auth_dh_common.c:167
This is no longer an issue in 2.2.x or 2.4.x thus I'd suggest you
upgrade. If you cannot a tiny patch is attached.
regards,
Nikos
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.txt
URL: </pipermail/attachments/20080629/c67aee61/attachment.txt>
More information about the Gnutls-devel
mailing list