1 // RUN: %clang_analyze_cc1 -analyzer-checker core,unix.Malloc -analyzer-output=plist -o %t.plist -verify %s
2 // RUN: FileCheck --input-file=%t.plist %s
3 
4 void free(void *);
5 void (*fnptr)(int);
foo()6 void foo() {
7   free((void *)fnptr);
8   // expected-warning@-1{{Argument to free() is a function pointer}}
9   // expected-warning@-2{{attempt to call free on non-heap object '(void *)fnptr'}}
10 }
11 
12 // Make sure the bug category is correct.
13 // CHECK: <key>category</key><string>Memory error</string>
14