• Marko Mäkelä's avatar
    PFS_events_statements cleanup: Use offsetof · 6b2b5108
    Marko Mäkelä authored
    The macro my_offsetof() performs pointer arithmetics that may be
    undefined behavior. As reported in MDEV-26272, it may cause
    clang -fsanitize=undefined to generate invalid memory references.
    
    struct PFS_events_statements: Convert to std::is_standard_layout
    by encapsulating the standard-layout struct PFS_events instead of
    deriving from it, so that the standard macro offsetof() can be used.
    
    PFS_events_statements::copy(): Renamed from copy_events_statements().
    A cast to void* is now needed in memcpy() to avoid GCC -Wclass-memaccess
    "writing to an object ... leaves 64 bytes unchanged".
    6b2b5108
pfs.cc 216 KB