1 
2 
3 #include <stdio.h>
4 #include <stdlib.h>
5 static void* return_arg(void* q);
6 int main ( void )
7 {
8    void* p = (void*)0x87654321;
9    int q[] = { 1, 2, 3 };
10 
11    /* Free a pointer to Never-Never Land */
12    free(p);
13 
14    /* Free a pointer to a stack block */
15    free(return_arg(q));
16 
17    return 0;
18 }
19 
20 /*
21  * The only purpose of the function below is to make sure that gcc 4.4.x does
22  * not print the following warning during the compilation of this test program:
23  * warning: attempt to free a non-heap object
24  */
25 static void* return_arg(void* q)
26 {
27    return q;
28 }
29 
30