Correct buffer end pointer in IO_wdefault_doallocate (BZ #26874)
commit764e9a0334350f52ab6953bef1db97f9b2e89ca5
authorMartin Sebor <msebor@gmail.com>
Mon, 1 Mar 2021 05:05:39 +0000 (1 10:35 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Mon, 1 Mar 2021 14:04:49 +0000 (1 19:34 +0530)
treec23ec97333d00aa40e7eb680845d645981d1fc40
parent9fb07fd4e1d6cafecd1807b7a92405bad8e39530
Correct buffer end pointer in IO_wdefault_doallocate (BZ #26874)

An experimental build of GCC 11 with an enhanced -Warray-bounds
reports a bug in IO_wdefault_doallocate where the function forms
an invalid past-the-end pointer to an allocated wchar_t buffer
by failingf to consider the scaling by sizeof (wchar_t).

The fix path below corrects this problem.  It keeps the buffer
size the same as opposed to increasing it according to what other
code like it does.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
libio/wgenops.c