]> gcc.gnu.org Git - gcc.git/commit
analyzer: handle array-initialization from a string_cst [PR113999]
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 21 Feb 2024 00:44:51 +0000 (19:44 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 21 Feb 2024 00:44:51 +0000 (19:44 -0500)
commit0a6a5f8656ccf9a60ac516c68cd4eb40ff4630c4
treedf2fa04a9b53e47606844b9e0314d20f216e2b9f
parent79d4c7ddc83e000adc8174b179dff44a88d5a41b
analyzer: handle array-initialization from a string_cst [PR113999]

gcc/analyzer/ChangeLog:
PR analyzer/113999
* analyzer.h (get_string_cst_size): New decl.
* region-model-manager.cc (get_string_cst_size): New.
(region_model_manager::maybe_get_char_from_string_cst): Treat
single-byte accesses within string_cst but beyond
TREE_STRING_LENGTH as being 0.
* region-model.cc (string_cst_has_null_terminator): Likewise.

gcc/testsuite/ChangeLog:
PR analyzer/113999
* c-c++-common/analyzer/strlen-pr113999.c: New test.
* gcc.dg/analyzer/strlen-1.c: More test coverage.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/analyzer.h
gcc/analyzer/region-model-manager.cc
gcc/analyzer/region-model.cc
gcc/testsuite/c-c++-common/analyzer/strlen-pr113999.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/analyzer/strlen-1.c
This page took 0.069536 seconds and 6 git commands to generate.