1
2
3#include <stdio.h>
4#include <stdlib.h>
5static void* return_arg(void* q);
6int 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 */
25static void* return_arg(void* q)
26{
27   return q;
28}
29
30