Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> --- GCC 11 is much more verbose with its array-bounds and stringop-overread warnings, and they are enabled by default. Some of these lead to some genuine fixes like the first two patches here while some are a bit more dubious but easy to fix, like the last three patches. Then there's a lot more additional array-bounds warnings emitted, caused by flexible array sizes which we define to 1 by default, in most cases. When a variable is allocated with the array size set to 0, GCC emits a warning each time the variable is used, as it assumes any of its members may be accessed (although the first array member may not be accessed at all). A possible fix for this would be to use true C99 flexible array sizes instead, but it then breaks a bunch of type size checks instead. dlls/kernelbase/console.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c index c38e8e91955..a7eeb439232 100644 --- a/dlls/kernelbase/console.c +++ b/dlls/kernelbase/console.c @@ -1728,7 +1728,7 @@ HRESULT WINAPI CreatePseudoConsole( COORD size, HANDLE input, HANDLE output, DWO if (!size.X || !size.Y || !ret) return E_INVALIDARG; - if (!(pseudo_console = HeapAlloc( GetProcessHeap(), 0, HEAP_ZERO_MEMORY ))) return E_OUTOFMEMORY; + if (!(pseudo_console = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pseudo_console) ))) return E_OUTOFMEMORY; swprintf( pipe_name, ARRAY_SIZE(pipe_name), L"\\\\.\\pipe\\wine_pty_signal_pipe%x", GetCurrentThreadId() ); -- 2.33.0