| // RUN: %clang_analyze_cc1 -analyzer-checker=alpha.security.taint,debug.TaintTest %s -verify |
| // expected-no-diagnostics |
| typedef struct _FILE FILE; |
| typedef __typeof(sizeof(int)) size_t; |
| ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict); |
| int printf(const char * __restrict, ...); |
| int snprintf(char *, size_t, const char *, ...); |
| struct GetLineTestStruct { |
| ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict); |
| struct GetLineTestStruct T; |
| while ((read = T.getline(&line, &len, stdin)) != -1) { |
| printf("%s", line); // no warning |
| void testOpaqueClass(opaque *obj) { |
| snprintf(buf, 20, "%p", obj); // don't crash trying to load *obj |