X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/6da411554bfe4c2a8ddfbb0616b0030ea5e813f5..6acea9a62669bfaa56dbea9a0b15c921eaff4d01:/windows/winpgntc.c diff --git a/windows/winpgntc.c b/windows/winpgntc.c index f647eefa..033fd5fb 100644 --- a/windows/winpgntc.c +++ b/windows/winpgntc.c @@ -10,12 +10,6 @@ #define AGENT_COPYDATA_ID 0x804e50ba /* random goop */ #define AGENT_MAX_MSGLEN 8192 -#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) { HWND hwnd; @@ -91,7 +85,7 @@ int agent_query(void *in, int inlen, void **out, int *outlen, mapname = dupprintf("PageantRequest%08x", (unsigned)GetCurrentThreadId()); filemap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, AGENT_MAX_MSGLEN, mapname); - if (!filemap) + if (filemap == NULL || filemap == INVALID_HANDLE_VALUE) return 1; /* *out == NULL, so failure */ p = MapViewOfFile(filemap, FILE_MAP_WRITE, 0, 0, 0); memcpy(p, in, inlen); @@ -128,7 +122,7 @@ int agent_query(void *in, int inlen, void **out, int *outlen, * query is required to be synchronous) or CreateThread failed. * Either way, we need a synchronous request. */ - id = SendMessage(hwnd, WM_COPYDATA, (WPARAM) NULL, (LPARAM) & cds); + id = SendMessage(hwnd, WM_COPYDATA, (WPARAM) NULL, (LPARAM) &cds); if (id > 0) { retlen = 4 + GET_32BIT(p); ret = snewn(retlen, unsigned char);