[pushed] analyzer, testsuite: add regression test [PR110520]

Message ID 20240219231121.3065558-1-dmalcolm@redhat.com
State Committed
Commit eb37ea529745c38dcf86c3cdbedb66df69ea9e35
Headers
Series [pushed] analyzer, testsuite: add regression test [PR110520] |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 warning Patch is already merged
linaro-tcwg-bot/tcwg_gcc_build--master-arm warning Patch is already merged

Commit Message

David Malcolm Feb. 19, 2024, 11:11 p.m. UTC
  Tested on x86_64-pc-linux-gnu.
Pushed to trunk as r14-9075-geb37ea529745c3.

gcc/testsuite/ChangeLog:
	PR analyzer/110520
	* c-c++-common/analyzer/null-deref-pr110520.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
---
 gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c | 8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c
  

Patch

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 00000000000..b57027689ee
--- /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'" } */
+}