From: Florian Forster Date: Mon, 25 Jul 2016 11:52:16 +0000 (+0200) Subject: Merge branch 'collectd-5.4' into collectd-5.5 X-Git-Tag: collectd-5.5.2~2 X-Git-Url: https://git.octo.it/?p=collectd.git;a=commitdiff_plain;h=49ac868d2346c77335272b8a643bca295db9feaa;hp=e0e307657d6b751d6beb5afb92c9359a6df7f5e8 Merge branch 'collectd-5.4' into collectd-5.5 --- diff --git a/src/libcollectdclient/network_buffer.c b/src/libcollectdclient/network_buffer.c index 343c285a..8d35d203 100644 --- a/src/libcollectdclient/network_buffer.c +++ b/src/libcollectdclient/network_buffer.c @@ -134,13 +134,16 @@ static _Bool have_gcrypt (void) /* {{{ */ #if HAVE_LIBGCRYPT # if GCRYPT_VERSION_NUMBER < 0x010600 - gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); + if (gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread)) + return (0); # endif if (!gcry_check_version (GCRYPT_VERSION)) return (0); - gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0); + if (!gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0)) + return (0); + gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0); result = 1; diff --git a/src/network.c b/src/network.c index 42eca720..7c15e8f9 100644 --- a/src/network.c +++ b/src/network.c @@ -500,6 +500,8 @@ static int network_dispatch_notification (notification_t *n) /* {{{ */ #if HAVE_LIBGCRYPT static void network_init_gcrypt (void) /* {{{ */ { + gcry_error_t err; + /* http://lists.gnupg.org/pipermail/gcrypt-devel/2003-August/000458.html * Because you can't know in a library whether another library has * already initialized the library */ @@ -514,10 +516,23 @@ static void network_init_gcrypt (void) /* {{{ */ * * tl;dr: keep all these gry_* statements in this exact order please. */ # if GCRYPT_VERSION_NUMBER < 0x010600 - gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); + err = gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); + if (err) + { + ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err)); + abort (); + } # endif + gcry_check_version (NULL); - gcry_control (GCRYCTL_INIT_SECMEM, 32768); + + err = gcry_control (GCRYCTL_INIT_SECMEM, 32768); + if (err) + { + ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err)); + abort (); + } + gcry_control (GCRYCTL_INITIALIZATION_FINISHED); } /* }}} void network_init_gcrypt */