https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119132
Kees Cook <kees at outflux dot net> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |--- Status|RESOLVED |UNCONFIRMED --- Comment #5 from Kees Cook <kees at outflux dot net> --- (In reply to Andrew Pinski from comment #3) > On &p->array[size + 1]; > > The instrument is to make sure that would form a valid range of the index. > Which is only 0...size. > > The instrumentation is not done on the pointer deference later on either. What? No, only 0...size-1 are valid. The bounds sanitizer trips for p->array[size]. That's correct behavior. But not for &(p->array[size]). That's unexpected and dangerous.