[Bug middle-end/88226] missing warning on fprintf, fputs, and puts with an unterminated array

2019-11-22 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88226

Martin Sebor  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Martin Sebor  ---
Patch committed in r278623.

[Bug middle-end/88226] missing warning on fprintf, fputs, and puts with an unterminated array

2019-11-22 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88226

--- Comment #5 from Martin Sebor  ---
Author: msebor
Date: Fri Nov 22 16:47:22 2019
New Revision: 278623

URL: https://gcc.gnu.org/viewcvs?rev=278623=gcc=rev
Log:
PR middle-end/88226 - missing warning on fprintf, fputs, and puts with an
unterminated array

gcc/ChangeLog:

PR middle-end/88226
* builtins.c (check_nul_terminated_array): New function.
(fold_builtin_0): Remove declaration.
(fold_builtin_1): Same.
(fold_builtin_2): Same.
(fold_builtin_3): Same.
(fold_builtin_strpbrk): Add argument.
(fold_builtin_strspn): Same.
(fold_builtin_strcspn): Same.
(expand_builtin_strcat): Call it.  Remove unused argument.
(expand_builtin_stpncpy): Same.
(expand_builtin_strncat): Same.
(expand_builtin_strncpy): Same.  Adjust indentation.
(expand_builtin_strcmp): Same.
(expand_builtin_strncmp): Same.
(expand_builtin_fork_or_exec): Same.
(expand_builtin): Handle more built-ins.
(fold_builtin_2): Add argument.
(fold_builtin_n): Make static.  Add argument.
(fold_call_expr): Pass new argument to fold_builtin_n and
fold_builtin_2.
(fold_builtin_call_array): Pass new argument to fold_builtin_n.
(fold_builtin_strpbrk): Add argument.  Call check_nul_terminated_array.
(fold_call_stmt): Pass new argument to fold_builtin_n.
* builtins.h: Correct a comment.
* gimple-fold.c (gimple_fold_builtin_strchr): Call
check_nul_terminated_array.
* tree-ssa-strlen.c (handle_builtin_strlen): Call
check_nul_terminated_array.
(handle_builtin_strchr): Same.
(handle_builtin_string_cmp): Same.

gcc/testsuite/ChangeLog:

PR middle-end/88226
* gcc.dg/Wstringop-overflow-22.c: New test.
* gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Remove xfails.


Added:
trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-22.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/builtins.h
trunk/gcc/gimple-fold.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-warn-1.c
trunk/gcc/tree-ssa-strlen.c

[Bug middle-end/88226] missing warning on fprintf, fputs, and puts with an unterminated array

2019-11-14 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88226

Martin Sebor  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |msebor at gcc dot 
gnu.org
   Target Milestone|--- |10.0

--- Comment #4 from Martin Sebor  ---
Patch: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg01238.html

[Bug middle-end/88226] missing warning on fprintf, fputs, and puts with an unterminated array

2018-11-27 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88226

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-11-27
 Ever confirmed|0   |1

--- Comment #3 from Martin Sebor  ---
Confirmed as per the xfailed tests that show these missing warnings (comment
#2).

[Bug middle-end/88226] missing warning on fprintf, fputs, and puts with an unterminated array

2018-11-27 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88226

--- Comment #2 from Martin Sebor  ---
Author: msebor
Date: Tue Nov 27 17:07:24 2018
New Revision: 266522

URL: https://gcc.gnu.org/viewcvs?rev=266522=gcc=rev
Log:
PR 87756 - missing unterminated argument warning using address of a constant
character
PR 88211 - missing warning on printf %ls and unterminated wide member array
PR 88226 - missing warning on fprintf, fputs, and puts with an unterminated
array

gcc/ChangeLog:

* gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Update/remove xfails.
* gcc.dg/tree-ssa/builtin-printf-warn-1.c: Same.
* gcc.dg/tree-ssa/user-printf-warn-1.c: Same.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-warn-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-warn-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/user-printf-warn-1.c

[Bug middle-end/88226] missing warning on fprintf, fputs, and puts with an unterminated array

2018-11-27 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88226

Martin Sebor  changed:

   What|Removed |Added

   Keywords||diagnostic
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=87756,
   ||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=88211

--- Comment #1 from Martin Sebor  ---
See also pr87756 and pr88211.