brintos

brintos / llvm-project-archived public Read only

0
0
Text · 444 B · 8c65d9c Raw
23 lines · cpp
1// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Stream -verify %s2 3typedef struct _IO_FILE FILE;4extern FILE *fopen(const char *path, const char *mode);5 6struct X {7  int A;8  int B;9};10 11void *fopen(X x, const char *mode) {12  return new char[4];13}14 15void f1() {16  X X1;17  void *p = fopen(X1, "oo");18} // no-warning19 20void f2() {21  FILE *f = fopen("file", "r");22} // expected-warning {{Opened stream never closed. Potential resource leak}}23