https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98407
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:d8aeee11af715507e61464d390f14e4f4fde61b0 commit r11-6281-gd8aeee11af715507e61464d390f14e4f4fde61b0 Author: Jakub Jelinek <ja...@redhat.com> Date: Mon Dec 21 10:14:46 2020 +0100 fold-const: Fix up a buffer overflow in native_encode_initializer [PR98407] For flexible array members we need to incrementally clear just from ptr + total_bytes up to new ptr + total_bytes, but memset has been called with the length from ptr, so was missing - total_bytes. Additionally, in this code off is guaranteed to be -1 and thus o 0, so don't bother pretending we could handle anything else, it would be more complicated than that. 2020-12-21 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/98407 * fold-const.c (native_encode_initializer): When handling flexible array members, fix up computation of length for memset. Also remove " - o" as o is always guaranteed to be 0 in this code path. * gcc.c-torture/compile/pr98407.c: New test.