]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-4.c
3d3270ffdbba1f80f9f2ce8b187b9875f578481e
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / analyzer / write-to-string-literal-4.c
1 typedef __SIZE_TYPE__ size_t;
2
3 int getrandom (void *__buffer, size_t __length,
4 unsigned int __flags)
5 __attribute__ ((access (__write_only__, 1, 2)));
6
7 #define GRND_RANDOM 0x02
8
9 void test (int flag)
10 {
11 char *buf;
12
13 if (flag)
14 buf = __builtin_malloc (1024);
15 else
16 buf = (char *)""; /* { dg-message "here" } */
17
18 if (getrandom(buf, 16, GRND_RANDOM)) /* { dg-warning "write to string literal" } */
19 __builtin_printf("%s\n", buf);
20
21 if (flag)
22 __builtin_free (buf);
23 }