aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2021-11-30 14:47:24 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2021-11-30 17:49:05 -0500
commit9603bccba62e250d0ff64863a1730a167d571a25 (patch)
treef2772d6c9a76e5a273666d1112ea05976c80cfb9 /gcc
parent03ea0ca1189a39e095188b0425c66446cc84a0a5 (diff)
downloadgcc-9603bccba62e250d0ff64863a1730a167d571a25.zip
gcc-9603bccba62e250d0ff64863a1730a167d571a25.tar.gz
gcc-9603bccba62e250d0ff64863a1730a167d571a25.tar.bz2
analyzer: add regression test [PR99269]
gcc/testsuite/ChangeLog: PR analyzer/99269 * gcc.dg/analyzer/pr99269.c: New test. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/pr99269.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/analyzer/pr99269.c b/gcc/testsuite/gcc.dg/analyzer/pr99269.c
new file mode 100644
index 0000000..1cce3ae
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/analyzer/pr99269.c
@@ -0,0 +1,16 @@
+#include <stdlib.h>
+
+void example(void) {
+ int len;
+ int **namelist = NULL;
+
+ len = 2;
+ namelist = malloc(len * sizeof *namelist);
+ if (!namelist) return;
+ namelist[0] = malloc(sizeof **namelist);
+ namelist[1] = malloc(sizeof **namelist);
+
+ while(len--) { free(namelist[len]); }
+ free(namelist);
+ return;
+}