From 44c107d56aa0e408fd4dd710134151f09149e526 Mon Sep 17 00:00:00 2001 From: Tim Kosse Date: Tue, 11 Aug 2015 14:30:14 +0200 Subject: [PATCH] Cast return value of ShellExecute to INT_PTR. ShellExecute returns HINSTANCE which is a typedef for void*. Cast the return value to INT_PTR instead of int to avoid truncation on 64bit builds. --- windows/winpgnt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/winpgnt.c b/windows/winpgnt.c index 2d6917c2..fa4d1d10 100644 --- a/windows/winpgnt.c +++ b/windows/winpgnt.c @@ -789,7 +789,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, case WM_SYSCOMMAND: switch (wParam & ~0xF) { /* low 4 bits reserved to Windows */ case IDM_PUTTY: - if((int)ShellExecute(hwnd, NULL, putty_path, _T(""), _T(""), + if((INT_PTR)ShellExecute(hwnd, NULL, putty_path, _T(""), _T(""), SW_SHOW) <= 32) { MessageBox(NULL, "Unable to execute PuTTY!", "Error", MB_OK | MB_ICONERROR); @@ -856,7 +856,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, GetMenuItemInfo(session_menu, wParam, FALSE, &mii); strcpy(param, "@"); strcat(param, mii.dwTypeData); - if((int)ShellExecute(hwnd, NULL, putty_path, param, + if((INT_PTR)ShellExecute(hwnd, NULL, putty_path, param, _T(""), SW_SHOW) <= 32) { MessageBox(NULL, "Unable to execute PuTTY!", "Error", MB_OK | MB_ICONERROR);