Home | History | Annotate | Download | only in Analysis
      1 // RUN: %clang_cc1 -analyze -analyzer-checker=core,unix,osx,alpha.unix,alpha.security.taint -analyzer-store region -verify %s
      2 // expected-no-diagnostics
      3 
      4 class Evil {
      5 public:
      6   void system(int); // taint checker
      7   void malloc(void *); // taint checker, malloc checker
      8   void free(); // malloc checker, keychain checker
      9   void fopen(); // stream checker
     10   void feof(int, int); // stream checker
     11   void open(); // unix api checker
     12 };
     13 
     14 void test(Evil &E) {
     15   // no warnings, no crashes
     16   E.system(0);
     17   E.malloc(0);
     18   E.free();
     19   E.fopen();
     20   E.feof(0,1);
     21   E.open();
     22 }
     23