From 370f79e38991cf45e921a29bdb1a57c23447d6c7 Mon Sep 17 00:00:00 2001 From: Michael Widenius <monty@askmonty.org> Date: Tue, 7 Jun 2011 10:29:08 +0300 Subject: [PATCH] Fixed strict alias problem by replacing = with memcpy() --- sql/sql_class.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sql/sql_class.h b/sql/sql_class.h index 7b1598ef7f..3535a41c21 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -2334,7 +2334,11 @@ public: { if (!stmt_arena->is_conventional()) check_and_register_item_tree_change(place, new_value, mem_root); - *place= *new_value; + /* + We have to use memcpy instead of *place= *new_value merge to + avoid problems with strict aliasing. + */ + memcpy((char*) place, new_value, sizeof(*new_value)); } void nocheck_register_item_tree_change(Item **place, Item *old_value, MEM_ROOT *runtime_memroot); -- 2.30.9