diff options
Diffstat (limited to 'src/xselect.c')
| -rw-r--r-- | src/xselect.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xselect.c b/src/xselect.c index 5e5bdb55eca..f63977a73de 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -2381,7 +2381,7 @@ FRAME is on. If FRAME is nil, the selected frame is used. */) | |||
| 2381 | { | 2381 | { |
| 2382 | Atom x_atom; | 2382 | Atom x_atom; |
| 2383 | struct frame *f = check_x_frame (frame); | 2383 | struct frame *f = check_x_frame (frame); |
| 2384 | size_t i; | 2384 | ptrdiff_t i; |
| 2385 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2385 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); |
| 2386 | 2386 | ||
| 2387 | 2387 | ||
| @@ -2402,6 +2402,9 @@ FRAME is on. If FRAME is nil, the selected frame is used. */) | |||
| 2402 | 2402 | ||
| 2403 | if (dpyinfo->x_dnd_atoms_length == dpyinfo->x_dnd_atoms_size) | 2403 | if (dpyinfo->x_dnd_atoms_length == dpyinfo->x_dnd_atoms_size) |
| 2404 | { | 2404 | { |
| 2405 | if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *dpyinfo->x_dnd_atoms / 2 | ||
| 2406 | < dpyinfo->x_dnd_atoms_size) | ||
| 2407 | memory_full (SIZE_MAX); | ||
| 2405 | dpyinfo->x_dnd_atoms_size *= 2; | 2408 | dpyinfo->x_dnd_atoms_size *= 2; |
| 2406 | dpyinfo->x_dnd_atoms = xrealloc (dpyinfo->x_dnd_atoms, | 2409 | dpyinfo->x_dnd_atoms = xrealloc (dpyinfo->x_dnd_atoms, |
| 2407 | sizeof (*dpyinfo->x_dnd_atoms) | 2410 | sizeof (*dpyinfo->x_dnd_atoms) |
| @@ -2424,7 +2427,7 @@ x_handle_dnd_message (struct frame *f, XClientMessageEvent *event, struct x_disp | |||
| 2424 | int x, y; | 2427 | int x, y; |
| 2425 | unsigned char *data = (unsigned char *) event->data.b; | 2428 | unsigned char *data = (unsigned char *) event->data.b; |
| 2426 | int idata[5]; | 2429 | int idata[5]; |
| 2427 | size_t i; | 2430 | ptrdiff_t i; |
| 2428 | 2431 | ||
| 2429 | for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i) | 2432 | for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i) |
| 2430 | if (dpyinfo->x_dnd_atoms[i] == event->message_type) break; | 2433 | if (dpyinfo->x_dnd_atoms[i] == event->message_type) break; |