PR middle-end/78138 - missing warnings on buffer overflow with non-constant source length
gcc/testsuite/ChangeLog: PR middle-end/78138 * gcc.dg/pr78138.c: New test. From-SVN: r244297
This commit is contained in:
parent
8cef58751a
commit
fefd30867d
|
@ -1,3 +1,8 @@
|
|||
2017-01-10 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR middle-end/78138
|
||||
* gcc.dg/pr78138.c: New test.
|
||||
|
||||
2017-01-10 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
PR c++/77949
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
/* PR middle-end/78138 - missing warnings on buffer overflow with non-constant
|
||||
source length
|
||||
{ dg-do compile }
|
||||
{ dg-options "-O2 -Wformat-length" } */
|
||||
|
||||
char d [5];
|
||||
|
||||
void* memcpy (void*, const void*, unsigned long);
|
||||
extern char* strcpy (char*, const char*);
|
||||
|
||||
void f (int i, int j)
|
||||
{
|
||||
strcpy (d, j ? "12345" : "123456"); /* { dg-warning ".strcpy. writing 6 bytes into a region of size 5" } */
|
||||
}
|
||||
|
||||
void g (void *p)
|
||||
{
|
||||
extern unsigned n;
|
||||
if (n < 17 || 32 < n) n = 7;
|
||||
|
||||
memcpy (d, p, n); /* { dg-warning ".memcpy.: writing between 7 and 32 bytes into a region of size 5" } */
|
||||
};
|
Loading…
Reference in New Issue