cURL / Mailing Lists / curl-library / Single Mail

curl-library

GnuTLS mem leak in gtls_connect_step3 (test300, torture test)

From: Quinn Slack <sqs_at_cs.stanford.edu>
Date: Wed, 5 Jan 2011 10:59:59 -0800

Test300 (a basic HTTPS GET) produces a memory leak in torture testing when using GnuTLS.

Using
  ./configure --enable-debug --enable-curldebug --without-ssl --with-gnutls
and running
  perl runtests.pl -v -t 300
produces:
  ** MEMORY FAILURE at 10:48:25
  Leak detected: memory still allocated: 1165 bytes
  At 252ec48, there's 1165 bytes.
   allocated by gtls.c:690
  LIMIT sslgen.c:322 strdup reached memlimit
   Failed on alloc number 43 in test.

This occurs on the latest git commit (as of 2011-Jan-04) on both Ubuntu 10.10 amd64
and MacOSX 10.6, both using GnuTLS 2.8.6. The other HTTPS tests fail in the same way.
When curl is built with OpenSSL, these tests pass (as expected).

This prevents my GnuTLS TLS-SRP patch from passing its tests, so I'll try to figure
this one out. I tried a bit to fix it, but the obvious fix (freeing connect_sessionid
if the Curl_ssl_addsessionid call in gtls.c:704 fails) causes a segfault that only
occurs when *not* running in gdb. I'll keep trying, but any help would be appreciated.

-Quinn
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2011-01-05