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

void *test (void)
{
  void **p = (void **)malloc (sizeof (void *) * 2);
  if (!p)
    return NULL;
  p[0] = malloc(10);
  p[1] = malloc(20); /* { dg-message "allocated here" }  */
  void *q = realloc (p, sizeof (void *)); /* { dg-message "when 'realloc' succeeds, moving buffer" } */
  if (!q)
  /* { dg-warning "leak of '<unknown>'" "leak of unknown" { target *-*-* } .-1 } */
    return p;
  return q;
}