[Ada] Fix computation of handle/pid lists in win32_wait

An obvious mistake due to missing parentheses was not properly computing the
size of the handle and pid list passed to WaitForMultipleObjects(). This
resulted in a memory corruption.

2018-05-23  Pascal Obry  <obry@adacore.com>

gcc/ada/

	* adaint.c (win32_wait): Add missing parentheses.

From-SVN: r260598
This commit is contained in:
Pascal Obry 2018-05-23 10:23:59 +00:00 committed by Pierre-Marie de Rodat
parent 7f4b58c258
commit c2d2963d2c
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2018-05-23 Pascal Obry <obry@adacore.com>
* adaint.c (win32_wait): Add missing parentheses.
2018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Check_Large_Modular_Array): Moved to Freeze.

View File

@ -2591,10 +2591,10 @@ win32_wait (int *status)
#else
/* Note that index 0 contains the event handle that is signaled when the
process list has changed */
hl = (HANDLE *) xmalloc (sizeof (HANDLE) * hl_len + 1);
hl = (HANDLE *) xmalloc (sizeof (HANDLE) * (hl_len + 1));
hl[0] = ProcListEvt;
memmove (&hl[1], HANDLES_LIST, sizeof (HANDLE) * hl_len);
pidl = (int *) xmalloc (sizeof (int) * hl_len + 1);
pidl = (int *) xmalloc (sizeof (int) * (hl_len + 1));
memmove (&pidl[1], PID_LIST, sizeof (int) * hl_len);
hl_len++;
#endif