On 2017-05-09 10:08 AM, Matt Caswell wrote:

I'm not sure why this makes a difference. The return value of dlclose()
tells you whether there has been an error or not. Not whether the
library has actually been removed from address space. Or am I missing
your point?

dlclose() is returning an error and dlerror() reports that the library cannot be closed as it is still in use (from the leaked reference).

No. The whole point of OPENSSL_USE_NODELETE is to indicate that the
library won't be unloaded until process exit because we've ensured that
through some other mechanism (e.g. because we built it using
"-znodelete" on Linux). We do not rely on the linux specific behaviour.
If your platform doesn't have some other mechanism then you need to use
the default "deliberate leak" approach.

Ok, misunderstood the intention of OPENSSL_USE_NODELETE, didn't realise it meant -znodelete.

Thanks,
Nick.
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to