https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77762
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-09-27
CC| |jakub at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
--- gcc/gimple-ssa-sprintf.c.jj 2016-09-23 09:32:13.000000000 +0200
+++ gcc/gimple-ssa-sprintf.c 2016-09-27 23:21:50.510412845 +0200
@@ -2536,8 +2536,8 @@ pass_sprintf_length::handle_gimple_call
// Signature:
// __builtin___vsnprintf_chk (dst, size, ost, objsize, format, va)
idx_dstsize = 1;
- idx_objsize = 2;
- idx_format = 3;
+ idx_objsize = 3;
+ idx_format = 4;
info.argidx = -1;
info.bounded = true;
break;
seems to fix this. Though I wonder why this warning at all, I don't see
anything -Wformat-length related on what it complains about, and generally, it
isn't disallowed to pass larger size than what -D_FORTIFY_SOURCE=2 is able to
compute, all that matters is whether the string at runtime exceeds the __bos
size (then it is __chk_fail runtime abort), or if it exceeds the user supplied
length (then it is truncated).