Reza Roodsari via RT wrote:
> but they add up quickly :-)
>
> Recently I started using a packaged called gSoap
> (http://www.cs.fsu.edu/~engelen/soap.html) and using one of their sample
> apps I noticed some leaks in it. I verified the memory leaks using purify
> and communicated them to Robert van Engelen, the author of gSoap. After
> looking at the stack traces we agreed that the leak is in the OpenSLL code
> (or so we think). I am including the source code for the sample
> application. The description of the leaks are in leak{1,2,3}.txt. All
> leaks originate from the call to:
> r = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
The problem is in stdsoap2.cpp.
</snip , line 1465ff>
}
else if (soap->dhfile)
{ DH *r = 0;
BIO *bio;
bio = BIO_new_file(soap->dhfile, "r");
if (!bio)
return soap_set_receiver_error(soap, "SSL error", "Can't read DH file",
SOAP_SSL_ERROR);
r = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
BIO_free(bio);
if (SSL_CTX_set_tmp_dh(soap_ssl_ctx, r) < 0)
return soap_set_receiver_error(soap, "SSL error", "Can't set DH
parameters", SOAP_SSL_ERROR);
}
</snap>
You must call DH_free(r) atfer SSL_CTX_set_tmp_dh() to decrease
the reference counter in the DH object.
Regards,
Nils
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]