]> git.sur5r.net Git - openldap/commit
libldap/tls.c calls CRYPTO_set_id_callback(ldap_pvt_thread_self), which
authorHallvard Furuseth <hallvard@openldap.org>
Sun, 20 May 2007 20:02:52 +0000 (20:02 +0000)
committerHallvard Furuseth <hallvard@openldap.org>
Sun, 20 May 2007 20:02:52 +0000 (20:02 +0000)
commitc47e444698251fca2bd781f03fe6e6fe305b0942
tree935f97e82d1c3876da7be7e792d5c313264ac27a
parent9fd99cd566020ce7d796a012f9727d875f16e479
libldap/tls.c calls CRYPTO_set_id_callback(ldap_pvt_thread_self), which
causes ldap_pvt_thread_self to be called with the wrong prototype.

That can cause OpenSSL to use a garbage value, e.g. if the unsigned
long it expects takes two words but ldap_pvt_thread_t is an int.

I'm fixing it in HEAD now and also provoking an error if unsigned
long cannot hold a ldap_pvt_thread_t.  Otherwise it can silently
compile to broken code.  Maybe the latter should go in configure,
but since OpenSSL presumably breaks anyway if that fails I don't
see much point at this time.
libraries/libldap/tls.c