gcc/testsuite/ChangeLog:
PR middle-end/78138
* gcc.dg/pr78138.c: New test.
From-SVN: r244297
+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
--- /dev/null
+/* 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" } */
+};