- Fix a(n) (im)possible buffer overrun. Just a defensive measure in case some future work on calc would trigger this. CID 716050

svn path=/trunk/; revision=73668
This commit is contained in:
Kamil Hornicek
2017-02-02 11:07:01 +00:00
parent f2ca31bf0f
commit 1014d132dc
+15 -5
View File
@@ -933,15 +933,18 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
return FALSE;
}
static WPARAM idm_2_idc(int idm)
static BOOL idm_2_idc(int idm, WPARAM *pIdc)
{
int x;
for (x=0; x<SIZEOF(upd); x++) {
if (upd[x].idm == idm)
break;
{
*pIdc = (WPARAM)(upd[x].idc);
return TRUE;
}
}
return (WPARAM)(upd[x].idc);
return FALSE;
}
static void CopyMemToClipboard(void *ptr)
@@ -1408,8 +1411,15 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
case IDM_VIEW_DWORD:
case IDM_VIEW_WORD:
case IDM_VIEW_BYTE:
SendMessage(hWnd, WM_COMMAND, idm_2_idc(LOWORD(wp)), 0);
return TRUE;
{
WPARAM idc;
if(idm_2_idc(LOWORD(wp), &idc))
{
SendMessage(hWnd, WM_COMMAND, idc, 0);
return TRUE;
}
return FALSE;
}
case IDM_EDIT_COPY:
handle_copy_command(hWnd);
return TRUE;