bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] flexmember: port better to GCC + valgrind


From: Jim Meyering
Subject: Re: [PATCH] flexmember: port better to GCC + valgrind
Date: Wed, 7 Sep 2016 09:16:30 -0700

On Wed, Sep 7, 2016 at 2:03 AM, Paul Eggert <address@hidden> wrote:
> With a char[] flexible array member in a struct with nontrivial
> alignment, GCC-generated code can access past the end of the
> array, because GCC assumes there are padding bytes to get the
> struct aligned.  So the common idiom of malloc (offsetof (struct
> s, m), n) does not properly allocate an n-byte trailing member, as
> malloc’s argument should be the next multiple of alignof (struct s).
> See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
> Although C11 apparently permits this GCC optimization (i.e., there
> was a bug in Gnulib not in GCC), possibly this is a defect in C11.
> See the thread containing:
> https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
> * lib/flexmember.h: New file.

Ouch. I'm glad this doesn't happen often. Thanks!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]