]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/Wstringop-overflow-4.c
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / Wstringop-overflow-4.c
CommitLineData
f1acdcd0
MM
1/* { dg-do compile }
2 { dg-options "-O2 -Wstringop-overflow" } */
3
4extern char* strchr (const char*, int);
5extern char* strcpy (char*, const char*);
6extern void* malloc (__SIZE_TYPE__);
7extern __SIZE_TYPE__ strlen (const char *);
8struct define_item {
9 int len;
10 char value[1];
11};
12
13struct define_item * foo(char *name)
14{
15 char * p;
16 char * value;
17 struct define_item * ptr;
18
19 p = strchr (name, '=');
20 if (1 && p) {
21 value = p+1;
22 } else
23 value = "1";
24
25 ptr = malloc(sizeof(struct define_item) + strlen(value));
26 strcpy(ptr->value, value); /* { dg-bogus "bytes into a region" } */
27 return ptr;
28}