Commit e0748030 by Martin Sebor Committed by Martin Sebor

PR tree-optimization/89644 - false-positive -Warray-bounds on strncpy with unterminated array

gcc/ChangeLog:
	* tree-ssa-strlen.c (handle_builtin_stxncpy): Use full_string_p
	rather than endptr as an indicator of nul-termination.

From-SVN: r269809
parent e3ba46bd
2019-03-19 Martin Sebor <msebor@redhat.com> 2019-03-19 Martin Sebor <msebor@redhat.com>
PR tree-optimization/89644 PR tree-optimization/89644
* tree-ssa-strlen.c (handle_builtin_stxncpy): Use full_string_p
rather than endptr as an indicator of nul-termination.
PR tree-optimization/89644
* tree-ssa-strlen.c (handle_builtin_stxncpy): Consider unterminated * tree-ssa-strlen.c (handle_builtin_stxncpy): Consider unterminated
arrays in determining sequence sizes in strncpy and stpncpy. arrays in determining sequence sizes in strncpy and stpncpy.
......
...@@ -2210,7 +2210,7 @@ handle_builtin_stxncpy (built_in_function, gimple_stmt_iterator *gsi) ...@@ -2210,7 +2210,7 @@ handle_builtin_stxncpy (built_in_function, gimple_stmt_iterator *gsi)
if it is known to be nul-terminated. */ if it is known to be nul-terminated. */
if (sidst->nonzero_chars) if (sidst->nonzero_chars)
{ {
if (sidst->endptr) if (sidst->full_string_p)
{ {
/* String is known to be nul-terminated. */ /* String is known to be nul-terminated. */
tree type = TREE_TYPE (sidst->nonzero_chars); tree type = TREE_TYPE (sidst->nonzero_chars);
...@@ -2236,7 +2236,7 @@ handle_builtin_stxncpy (built_in_function, gimple_stmt_iterator *gsi) ...@@ -2236,7 +2236,7 @@ handle_builtin_stxncpy (built_in_function, gimple_stmt_iterator *gsi)
nul if its known to be nul-terminated. */ nul if its known to be nul-terminated. */
if (sisrc->nonzero_chars) if (sisrc->nonzero_chars)
{ {
if (sisrc->endptr) if (sisrc->full_string_p)
{ {
tree type = TREE_TYPE (sisrc->nonzero_chars); tree type = TREE_TYPE (sisrc->nonzero_chars);
srcsize = fold_build2 (PLUS_EXPR, type, sisrc->nonzero_chars, srcsize = fold_build2 (PLUS_EXPR, type, sisrc->nonzero_chars,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment