aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/analyzer/strdup-pr108252.c
blob: d79d11fca66c89bc43595099b352b321530df247 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
extern char *strdup (const char *__s)
  __attribute__ ((__nothrow__ , __leaf__, __malloc__, __nonnull__ (1)));

struct {
  /* [...snip...] */
  char *listen_default_ciphers;
  char *connect_default_ciphers;
  /* [...snip...] */
} g;

int parse_global_ciphers(char **args)
{
  char **target;
  target = ((args[0][12] == 'b')
	    ? &g.listen_default_ciphers
	    : &g.connect_default_ciphers);
  *target = strdup(args[1]);
  return 0; /* { dg-bogus "leak" } */
}