MDEV-34770 UBSAN: runtime error: load of address 0x... with

insufficient space for an object of type 'uchar' in sys_vars.inl

Disable UBSAN for global_var_ptr()/session_var_ptr() (none of
"undefined" suboptions for gcc-13 worked).
This commit is contained in:
Aleksey Midenkov 2024-12-03 13:49:43 +03:00
parent 13f93da1f6
commit b8ad202da1

View File

@ -247,9 +247,11 @@ protected:
Typically it's the same as session_value_ptr(), but it's different,
for example, for ENUM, that is printed as a string, but stored as a number.
*/
__attribute__((no_sanitize("undefined")))
uchar *session_var_ptr(THD *thd) const
{ return ((uchar*)&(thd->variables)) + offset; }
__attribute__((no_sanitize("undefined")))
uchar *global_var_ptr() const
{ return ((uchar*)&global_system_variables) + offset; }