gnutls_handshake crash on multithreading
nmav at gnutls.org
Thu Feb 18 08:50:39 CET 2010
Vasiliy Ivanov wrote:
> No, it's my own structure(see below).
> It works at program start, but no methods are called at gnutls_handshake processing.
Actually what is the return value of gcry_control when setting them? Are
you sure that these functions are not called?
I see here that you do:
> gcry_check_version (GCRYPT_VERSION);
> gcry_control( GCRYCTL_SET_THREAD_CBS, &gcry_threads_boost );
> gcry_control (GCRYCTL_SUSPEND_SECMEM_WARN);
> gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0);
> gcry_control (GCRYCTL_RESUME_SECMEM_WARN);
> gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
> gcry_control (GCRYCTL_INITIALIZATION_FINISHED_P);
and have no error checking whatsoever. Check gnutls_global_init() on how
the initialization of libgcrypt is done. Otherwise you don't even know
if these functions have any effect.
More information about the Gnutls-devel