X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/839f10dbef33ef2982689a05f8305690aba92734..962468d4b96c33869e9131eb42a0c784591f5884:/unix/uxagentc.c diff --git a/unix/uxagentc.c b/unix/uxagentc.c index b612f52f..9f579cd9 100644 --- a/unix/uxagentc.c +++ b/unix/uxagentc.c @@ -8,21 +8,17 @@ #include #include #include +#include #include "putty.h" #include "misc.h" #include "tree234.h" #include "puttymem.h" -#define GET_32BIT(cp) \ - (((unsigned long)(unsigned char)(cp)[0] << 24) | \ - ((unsigned long)(unsigned char)(cp)[1] << 16) | \ - ((unsigned long)(unsigned char)(cp)[2] << 8) | \ - ((unsigned long)(unsigned char)(cp)[3])) - int agent_exists(void) { - if (getenv("SSH_AUTH_SOCK") != NULL) + const char *p = getenv("SSH_AUTH_SOCK"); + if (p && *p) return TRUE; return FALSE; } @@ -127,6 +123,8 @@ int agent_query(void *in, int inlen, void **out, int *outlen, exit(1); } + cloexec(sock); + addr.sun_family = AF_UNIX; strncpy(addr.sun_path, name, sizeof(addr.sun_path)); if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {