[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:
parent
7f4b58c258
commit
c2d2963d2c
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user