forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			23 lines
		
	
	
		
			566 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			566 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix,osx,alpha.unix,alpha.security.taint -analyzer-store region -verify %s
 | 
						|
// expected-no-diagnostics
 | 
						|
 | 
						|
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();
 | 
						|
}
 |