Skip to content

Commit

Permalink
Fix divide-by-zero when videodata->ime_candpgsize is zero. We're seei…
Browse files Browse the repository at this point in the history
…ng this happen in Dota in the wild.
  • Loading branch information
gdrewb-valve committed Apr 6, 2017
1 parent 66555f6 commit a4dbf56
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/video/windows/SDL_windowskeyboard.c
Expand Up @@ -834,7 +834,11 @@ IME_GetCandidateList(HIMC himc, SDL_VideoData *videodata)
videodata->ime_candpgsize = i - page_start;
} else {
videodata->ime_candpgsize = SDL_min(cand_list->dwPageSize, MAX_CANDLIST);
page_start = (cand_list->dwSelection / videodata->ime_candpgsize) * videodata->ime_candpgsize;
if (videodata->ime_candpgsize > 0) {
page_start = (cand_list->dwSelection / videodata->ime_candpgsize) * videodata->ime_candpgsize;
} else {
page_start = 0;
}
}
SDL_memset(&videodata->ime_candidates, 0, sizeof(videodata->ime_candidates));
for (i = page_start, j = 0; (DWORD)i < cand_list->dwCount && j < (int)videodata->ime_candpgsize; i++, j++) {
Expand Down

0 comments on commit a4dbf56

Please sign in to comment.