https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97659
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- This looks like a bug in the sanitizer. I assume it's triggering because the memory returned by the allocator doesn't refer to an array, so the two addresses are not pointing to subobjects of a single object. But that's just how std::vector works, and the C++ standard has been changed to make it valid, so the sanitizer needs to cope with the real world.