agent: Set assuan system hooks before call of assuan_sock_init.
authorNIIBE Yutaka <gniibe@fsij.org>
Wed, 6 Dec 2017 02:20:51 +0000 (11:20 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Wed, 6 Dec 2017 02:20:51 +0000 (11:20 +0900)
* agent/gpg-agent.c (initialize_modules): Move assuan_set_system_hooks.
(main): ... here, just before assuan_sock_init.

--

In Assuan, global variable SOCK_CTX is used internally, which is
initialized by assuan_sock_init.  When initialized, system hooks
are copied into SOCK_CTX structure.  Thus, system hooks should
be set, before the call of assuan_sock_init.

GnuPG-bug-id: 3378
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
agent/gpg-agent.c

index 1696e4e..b076ca3 100644 (file)
@@ -966,7 +966,6 @@ static void
 initialize_modules (void)
 {
   thread_init_once ();
-  assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
   initialize_module_cache ();
   initialize_module_call_pinentry ();
   initialize_module_call_scd ();
@@ -1027,6 +1026,7 @@ main (int argc, char **argv )
   malloc_hooks.free = gcry_free;
   assuan_set_malloc_hooks (&malloc_hooks);
   assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT);
+  assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
   assuan_sock_init ();
   setup_libassuan_logging (&opt.debug, NULL);