aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/analyzer/loop-3.c
blob: 0bcf70746232fec276c641e3ac4b4a63c77c461a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdlib.h>

void test(int c)
{
  int i;
  char *buffer = (char*)malloc(256);

  for (i=0; i<255; i++) {
    buffer[i] = c; /* { dg-warning "use after 'free' of 'buffer'" "use after free" { xfail *-*-* } } */
                   /* { dg-warning "possibly-NULL 'buffer'" "deref of unchecked" { target *-*-* } .-1 } */
    free(buffer); /* { dg-warning "double-'free' of 'buffer'" } */
  }

}