[PATCH] separate reading past the end from -Wstringop-overflow

Martin Sebor msebor@gmail.com
Mon Aug 31 21:50:33 GMT 2020


On 8/31/20 4:51 AM, Christophe Lyon wrote:
> Hi,
> 
...
> 
> I pushed a small aarch64 patch as obvious:
>      2020-08-31  Christophe Lyon  <christophe.lyon@linaro.org>
> 
>          gcc/testsuite/
>          * gcc.target/aarch64/strcmpopt_6.c: Suppress -Wstringop-overread.
> (same as you added for i386)

Thank you!

> 
> On arm, there is a regression:
> FAIL: c-c++-common/Warray-bounds-6.c  -Wc++-compat  (test for excess errors)
> Excess errors:
> /gcc/testsuite/c-c++-common/Warray-bounds-6.c:16:3: warning: 'strncpy'
> writing 1 or more bytes into a region of size 0 overflows the
> destination [-Wstringop-overflow=]
> 
> and the new test has several failures:
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 100)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 110)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 167)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 177)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 279)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 289)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 338)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 372)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 374)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 532)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 566)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 568)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 74)
>      gcc.dg/Wstringop-overread.c  (test for warnings, line 84)
> FAIL: gcc.dg/Wstringop-overread.c (test for excess errors)
> Excess errors:
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:302:3: warning: 'strnlen'
> specified bound [1, 4294967295] exceeds source size 0
> [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:306:3: warning: 'strnlen'
> specified bound [1, 4294967295] exceeds source size 0
> [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:312:3: warning: 'strnlen'
> specified bound [1, 4294967295] exceeds source size 0
> [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:323:3: warning: 'strnlen'
> reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:351:3: warning: 'strnlen'
> reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:498:3: warning: 'strndup'
> specified bound [1, 4294967295] exceeds source size 0
> [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:502:3: warning: 'strndup'
> specified bound [1, 4294967295] exceeds source size 0
> [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:508:3: warning: 'strndup'
> specified bound [1, 4294967295] exceeds source size 0
> [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:518:3: warning: 'strndup'
> reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
> /gcc/testsuite/gcc.dg/Wstringop-overread.c:545:3: warning: 'strndup'
> reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
> 
> Can you check these?

They should be fixed as of yesterday:
   https://gcc.gnu.org/pipermail/gcc-patches/2020-August/552976.html

Can you please retest with an updated build?

Martin


More information about the Gcc-patches mailing list