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
+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.
#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