| Summary: | missing -Wstringop-overflow using a non-string local array in strnlen with excessive bound | ||
|---|---|---|---|
| Product: | gcc | Reporter: | Martin Sebor <msebor> |
| Component: | tree-optimization | Assignee: | Martin Sebor <msebor> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | Keywords: | diagnostic, patch |
| Priority: | P3 | ||
| Version: | 9.0 | ||
| Target Milestone: | 10.0 | ||
| See Also: |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86711 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91183 |
||
| Host: | Target: | ||
| Build: | Known to work: | ||
| Known to fail: | Last reconfirmed: | 2018-07-26 00:00:00 | |
| Bug Depends on: | |||
| Bug Blocks: | 88443 | ||
|
Description
Martin Sebor
2018-07-26 16:36:00 UTC
Doesn't work with GCC 8 so not a regression. GCC 8 doesn't even know strnlen. Author: msebor Date: Thu Jul 25 00:29:17 2019 New Revision: 273783 URL: https://gcc.gnu.org/viewcvs?rev=273783&root=gcc&view=rev Log: PR tree-optimization/91183 - strlen of a strcpy result with a conditional source not folded PR tree-optimization/86688 - missing -Wstringop-overflow using a non-string local array in strnlen with excessive bound gcc/ChangeLog: PR tree-optimization/91183 PR tree-optimization/86688 * builtins.c (compute_objsize): Handle MEM_REF. * tree-ssa-strlen.c (class ssa_name_limit_t): New. (get_min_string_length): Remove. (count_nonzero_bytes): New function. (handle_char_store): Rename... (handle_store): to this. Handle multibyte stores via integer types. (strlen_check_and_optimize_stmt): Adjust conditional and the called function name. gcc/testsuite/ChangeLog: PR tree-optimization/91183 PR tree-optimization/86688 * gcc.dg/Wstringop-overflow-14.c: New test. * gcc.dg/attr-nonstring-2.c: Remove xfails. * gcc.dg/strlenopt-70.c: New test. * gcc.dg/strlenopt-71.c: New test. * gcc.dg/strlenopt-72.c: New test. * gcc.dg/strlenopt-8.c: Remove xfails. Added: trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-14.c trunk/gcc/testsuite/gcc.dg/strlenopt-70.c trunk/gcc/testsuite/gcc.dg/strlenopt-71.c trunk/gcc/testsuite/gcc.dg/strlenopt-72.c Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/c-c++-common/ubsan/object-size-9.c trunk/gcc/testsuite/gcc.dg/attr-nonstring-2.c trunk/gcc/testsuite/gcc.dg/strlenopt-8.c trunk/gcc/tree-ssa-strlen.c Author: msebor Date: Thu Jul 25 19:03:00 2019 New Revision: 273812 URL: https://gcc.gnu.org/viewcvs?rev=273812&root=gcc&view=rev Log: PR tree-optimization/91183 PR tree-optimization/86688 gcc/testsuite/ChangeLog: * gcc.dg/strlenopt-70.c: Fix bugs. * gcc.dg/strlenopt-71.c: Same. * gcc.dg/strlenopt-72.c: Same. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/strlenopt-70.c trunk/gcc/testsuite/gcc.dg/strlenopt-71.c trunk/gcc/testsuite/gcc.dg/strlenopt-72.c Fixed for GCC 10. |