]> git.ipfire.org Git - thirdparty/gcc.git/commit
analyzer: handle symbolic bindings in scan_for_null_terminator [PR105899]
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 24 Aug 2023 14:24:38 +0000 (10:24 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 24 Aug 2023 14:24:38 +0000 (10:24 -0400)
commit5ef89c5c2f52a2c47fd26845d1f73e20b9081fc9
treef0ce6c907e91f70e8eb515ebe398a1aeaa69b7e8
parent9aaec66917c96a8d27166049d14c092da9e8361b
analyzer: handle symbolic bindings in scan_for_null_terminator [PR105899]

gcc/analyzer/ChangeLog:
PR analyzer/105899
* region-model.cc (iterable_cluster::iterable_cluster): Add
symbolic binding keys to m_symbolic_bindings.
(iterable_cluster::has_symbolic_bindings_p): New.
(iterable_cluster::m_symbolic_bindings): New field.
(region_model::scan_for_null_terminator): Treat clusters with
symbolic bindings as having unknown strlen.

gcc/testsuite/ChangeLog:
PR analyzer/105899
* gcc.dg/analyzer/sprintf-1.c: Include "analyzer-decls.h".
(test_strlen_1): New.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/region-model.cc
gcc/testsuite/gcc.dg/analyzer/sprintf-1.c