diff --git a/tools/gpg-connect-agent.c b/tools/gpg-connect-agent.c index 90f54a44d..2bea98d8d 100644 --- a/tools/gpg-connect-agent.c +++ b/tools/gpg-connect-agent.c @@ -2081,11 +2081,6 @@ start_agent (void) assuan_context_t ctx; session_env_t session_env; - session_env = session_env_new (); - if (!session_env) - log_fatal ("error allocating session environment block: %s\n", - strerror (errno)); - infostr = getenv ("GPG_AGENT_INFO"); if (!infostr || !*infostr) { @@ -2174,8 +2169,14 @@ start_agent (void) exit (1); } + session_env = session_env_new (); + if (!session_env) + log_fatal ("error allocating session environment block: %s\n", + strerror (errno)); + rc = send_pinentry_environment (ctx, GPG_ERR_SOURCE_DEFAULT, NULL, NULL, session_env); + session_env_release (session_env); if (rc) { log_error (_("error sending standard options: %s\n"), gpg_strerror (rc));