llvm-project/clang-tools-extra/test/clang-tidy/checkers/cert-env33-c.c

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

21 lines
659 B
C
Raw Normal View History

// RUN: %check_clang_tidy %s cert-env33-c %t
typedef struct FILE {} FILE;
extern int system(const char *);
extern FILE *popen(const char *, const char *);
extern FILE *_popen(const char *, const char *);
void f(void) {
// It is permissible to check for the presence of a command processor.
system(0);
system("test");
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: calling 'system' uses a command processor [cert-env33-c]
popen("test", "test");
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: calling 'popen' uses a command processor
_popen("test", "test");
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: calling '_popen' uses a command processor
}