#include <stdlib.h> | |
void *global_ptr; | |
void test_1 (int i) | |
{ | |
global_ptr = malloc (1024); /* { dg-message "allocated here" } */ | |
*(int *)&global_ptr = i; /* { dg-warning "leak of 'global_ptr'" } */ | |
} | |
void test_2 (int i) | |
{ | |
void *p = malloc (1024); /* { dg-message "allocated here" } */ | |
global_ptr = p; | |
*(int *)&p = i; | |
p = global_ptr; | |
free (p); | |
free (global_ptr); /* { dg-warning "double-'free' of 'p'" } */ | |
} |