https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83011
--- Comment #4 from Julien ÉLIE <julien at trigofacile dot com> --- Martin, the following thing still puzzles me. len = 52 * timer_count + 27 + (prefix == NULL ? 0 : strlen(prefix)) + 1; => gives a warning, as explained below len = 1 + 52 * timer_count + 27 + (prefix == NULL ? 0 : strlen(prefix)); => gives *no* warning len = 52 * timer_count + 28 + (prefix == NULL ? 0 : strlen(prefix)); => gives *no* warning Isn't there an issue to fix in how the checker assumes the size of the destination? I do not understand how such a computation could be a feature.