diff options
Diffstat (limited to 'agent/command.c')
-rw-r--r-- | agent/command.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/agent/command.c b/agent/command.c index 925d1f780..7fbf1de1c 100644 --- a/agent/command.c +++ b/agent/command.c @@ -887,7 +887,7 @@ cmd_genkey (assuan_context_t ctx, char *line) ctrl_t ctrl = assuan_get_pointer (ctx); int rc; int no_protection; - unsigned char *value; + unsigned char *value = NULL; size_t valuelen; unsigned char *newpasswd = NULL; membuf_t outbuf; @@ -3588,8 +3588,13 @@ start_command_handler (ctrl_t ctrl, gnupg_fd_t listen_fd, gnupg_fd_t fd) } else { +#ifdef HAVE_W32_SYSTEM + pid = assuan_get_pid (ctx); + ctrl->client_uid = -1; +#else pid = client_creds->pid; ctrl->client_uid = client_creds->uid; +#endif } ctrl->client_pid = (pid == ASSUAN_INVALID_PID)? 0 : (unsigned long)pid; ctrl->server_local->connect_from_self = (pid == getpid ()); |