https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77762

            Bug ID: 77762
           Summary: Incorrect destination buffer length in -Wformat-length
                    warning
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fw at gcc dot gnu.org
                CC: msebor at gcc dot gnu.org
  Target Milestone: ---

Created attachment 39703
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39703&action=edit
dbg_log.c

The attached test case, extracted from nscd/dbg_log.c in glibc, prints (when
compiled with -O2 -Wall):

dbg_log.c: In function ‘dbg_log’:
dbg_log.c:11:10: warning: specified size 512 exceeds the size 1 of the
destination object [-Wformat-length=]
   return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                     __bos (__s), __fmt, __ap);
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~

This appears to be different from bug 77743 because GCC should not have buffer
length information in this case.

Reply via email to