/* { dg-do compile } */ | |
/* { dg-options "-O2 -Wuse-after-free=2" } */ | |
unsigned long bufmax = 0; | |
unsigned long __open_catalog_bufmax; | |
void *realloc(void *, __SIZE_TYPE__); | |
void free(void *); | |
void __open_catalog(char *buf) | |
{ | |
char *old_buf = buf; | |
buf = realloc (buf, bufmax); | |
if (__builtin_expect ((buf == ((void *)0)), 0)) | |
free (old_buf); /* { dg-bogus "used after" } */ | |
} |