21 lines
571 B
C
21 lines
571 B
C
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
int main ()
|
||
|
{
|
||
|
volatile int *k = (int *) malloc (sizeof (int));
|
||
|
volatile int l;
|
||
|
if (k == NULL) abort ();
|
||
|
*k = 5;
|
||
|
free ((void *) k);
|
||
|
__mf_set_options ("-ignore-reads");
|
||
|
l = *k; /* Should not trip, even though memory region just freed. */
|
||
|
__mf_set_options ("-no-ignore-reads");
|
||
|
l = *k; /* Should trip now. */
|
||
|
return 0;
|
||
|
}
|
||
|
/* { dg-output "mudflap violation 1.*check/read.*" } */
|
||
|
/* { dg-output "Nearby object 1.*" } */
|
||
|
/* { dg-output "mudflap dead object.*malloc region.*" } */
|
||
|
/* { dg-do run { xfail *-*-* } } */
|