summaryrefslogtreecommitdiff
path: root/test/Analysis/cxx-method-names.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2012-08-15 20:02:54 +0000
committerDimitry Andric <dim@FreeBSD.org>2012-08-15 20:02:54 +0000
commit56d91b49b13fe55c918afbda19f6165b5fbff87a (patch)
tree9abb1a658a297776086f4e0dfa6ca533de02104e /test/Analysis/cxx-method-names.cpp
parent41e20f564abdb05101d6b2b29c59459a966c22cc (diff)
Notes
Diffstat (limited to 'test/Analysis/cxx-method-names.cpp')
-rw-r--r--test/Analysis/cxx-method-names.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Analysis/cxx-method-names.cpp b/test/Analysis/cxx-method-names.cpp
new file mode 100644
index 000000000000..8afbb85c1730
--- /dev/null
+++ b/test/Analysis/cxx-method-names.cpp
@@ -0,0 +1,21 @@
+// RUN: %clang_cc1 -analyze -analyzer-checker=core,unix,osx,experimental.unix,experimental.security.taint -analyzer-store region -verify %s
+
+class Evil {
+public:
+ void system(int); // taint checker
+ void malloc(void *); // taint checker, malloc checker
+ void free(); // malloc checker, keychain checker
+ void fopen(); // stream checker
+ void feof(int, int); // stream checker
+ void open(); // unix api checker
+};
+
+void test(Evil &E) {
+ // no warnings, no crashes
+ E.system(0);
+ E.malloc(0);
+ E.free();
+ E.fopen();
+ E.feof(0,1);
+ E.open();
+}