aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/analyzer
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2024-02-19 18:07:59 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2024-02-19 18:07:59 -0500
commiteb37ea529745c38dcf86c3cdbedb66df69ea9e35 (patch)
tree3238e320ec0d405eed4409f0cd44b07d2cfb9f80 /gcc/testsuite/c-c++-common/analyzer
parentd70facd54a576faca1bfba96e92e1475e0da22a3 (diff)
downloadgcc-eb37ea529745c38dcf86c3cdbedb66df69ea9e35.zip
gcc-eb37ea529745c38dcf86c3cdbedb66df69ea9e35.tar.gz
gcc-eb37ea529745c38dcf86c3cdbedb66df69ea9e35.tar.bz2
analyzer, testsuite: add regression test [PR110520]
gcc/testsuite/ChangeLog: PR analyzer/110520 * c-c++-common/analyzer/null-deref-pr110520.c: New test. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/testsuite/c-c++-common/analyzer')
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c b/gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c
new file mode 100644
index 0000000..b570276
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c
@@ -0,0 +1,8 @@
+#include "analyzer-decls.h"
+
+int main(void) {
+ char buf[] = "0";
+ int *ptr = (int *)(__builtin_strlen(buf) - 1);
+ __analyzer_eval((__builtin_strlen(buf)) == 1); /* { dg-warning "TRUE" } */
+ *ptr = 10086; /* { dg-warning "dereference of NULL 'ptr'" } */
+}