diff options
Diffstat (limited to '')
-rw-r--r-- | agent/gpg-agent.c | 64 |
1 files changed, 37 insertions, 27 deletions
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index 5ac951c23..dc13c9908 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -263,6 +263,13 @@ static int fixed_gcry_pth_init (void) } +#ifndef PTH_HAVE_PTH_THREAD_ID +static unsigned long pth_thread_id (void) +{ + return (unsigned long)pth_self (); +} +#endif + /* @@ -840,6 +847,7 @@ main (int argc, char **argv ) |JNLIB_LOG_WITH_TIME |JNLIB_LOG_WITH_PID)); current_logfile = xstrdup (logfile); + assuan_set_assuan_log_stream (log_get_stream ()); } /* Make sure that we have a default ttyname. */ @@ -1034,11 +1042,11 @@ main (int argc, char **argv ) printf ("%s; export SSH_AGENT_PID;\n", infostr_ssh_pid); } } - free (infostr); /* (Note that a vanilla free is here correct.) */ + xfree (infostr); if (opt.ssh_support) { - free (infostr_ssh_sock); - free (infostr_ssh_pid); + xfree (infostr_ssh_sock); + xfree (infostr_ssh_pid); } exit (0); } @@ -1132,31 +1140,33 @@ agent_init_default_ctrl (ctrl_t ctrl) and the request will fail anyway shortly after this initialization. */ if (ctrl->display) - free (ctrl->display); - ctrl->display = default_display? strdup (default_display) : NULL; + xfree (ctrl->display); + ctrl->display = default_display? xtrystrdup (default_display) : NULL; if (ctrl->ttyname) - free (ctrl->ttyname); - ctrl->ttyname = default_ttyname? strdup (default_ttyname) : NULL; + xfree (ctrl->ttyname); + ctrl->ttyname = default_ttyname? xtrystrdup (default_ttyname) : NULL; if (ctrl->ttytype) - free (ctrl->ttytype); - ctrl->ttytype = default_ttytype? strdup (default_ttytype) : NULL; + xfree (ctrl->ttytype); + ctrl->ttytype = default_ttytype? xtrystrdup (default_ttytype) : NULL; if (ctrl->lc_ctype) - free (ctrl->lc_ctype); - ctrl->lc_ctype = default_lc_ctype? strdup (default_lc_ctype) : NULL; + xfree (ctrl->lc_ctype); + ctrl->lc_ctype = default_lc_ctype? xtrystrdup (default_lc_ctype) : NULL; if (ctrl->lc_messages) - free (ctrl->lc_messages); - ctrl->lc_messages = default_lc_messages? strdup (default_lc_messages) : NULL; + xfree (ctrl->lc_messages); + ctrl->lc_messages = default_lc_messages? xtrystrdup (default_lc_messages) + /**/ : NULL; if (ctrl->xauthority) - free (ctrl->xauthority); - ctrl->xauthority = default_xauthority? strdup (default_xauthority) : NULL; + xfree (ctrl->xauthority); + ctrl->xauthority = default_xauthority? xtrystrdup (default_xauthority) + /**/: NULL; if (ctrl->pinentry_user_data) - free (ctrl->pinentry_user_data); + xfree (ctrl->pinentry_user_data); ctrl->pinentry_user_data = NULL; } @@ -1165,19 +1175,19 @@ static void agent_deinit_default_ctrl (ctrl_t ctrl) { if (ctrl->display) - free (ctrl->display); + xfree (ctrl->display); if (ctrl->ttyname) - free (ctrl->ttyname); + xfree (ctrl->ttyname); if (ctrl->ttytype) - free (ctrl->ttytype); + xfree (ctrl->ttytype); if (ctrl->lc_ctype) - free (ctrl->lc_ctype); + xfree (ctrl->lc_ctype); if (ctrl->lc_messages) - free (ctrl->lc_messages); + xfree (ctrl->lc_messages); if (ctrl->xauthority) - free (ctrl->xauthority); + xfree (ctrl->xauthority); if (ctrl->pinentry_user_data) - free (ctrl->pinentry_user_data); + xfree (ctrl->pinentry_user_data); } /* Reread parts of the configuration. Note, that this function is @@ -1622,12 +1632,12 @@ start_connection_thread (void *arg) agent_init_default_ctrl (ctrl); if (opt.verbose) log_info (_("handler 0x%lx for fd %d started\n"), - (long)pth_self (), FD2INT(ctrl->thread_startup.fd)); + pth_thread_id (), FD2INT(ctrl->thread_startup.fd)); start_command_handler (ctrl, GNUPG_INVALID_FD, ctrl->thread_startup.fd); if (opt.verbose) log_info (_("handler 0x%lx for fd %d terminated\n"), - (long)pth_self (), FD2INT(ctrl->thread_startup.fd)); + pth_thread_id (), FD2INT(ctrl->thread_startup.fd)); agent_deinit_default_ctrl (ctrl); xfree (ctrl); @@ -1647,12 +1657,12 @@ start_connection_thread_ssh (void *arg) agent_init_default_ctrl (ctrl); if (opt.verbose) log_info (_("ssh handler 0x%lx for fd %d started\n"), - (long)pth_self (), FD2INT(ctrl->thread_startup.fd)); + pth_thread_id (), FD2INT(ctrl->thread_startup.fd)); start_command_handler_ssh (ctrl, ctrl->thread_startup.fd); if (opt.verbose) log_info (_("ssh handler 0x%lx for fd %d terminated\n"), - (long)pth_self (), FD2INT(ctrl->thread_startup.fd)); + pth_thread_id (), FD2INT(ctrl->thread_startup.fd)); agent_deinit_default_ctrl (ctrl); xfree (ctrl); |