From 37dd3cf424d7951d47928992093b4d145575c45a Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Tue, 15 Aug 2017 14:30:27 +0300 Subject: MDEV-13550 Copy ctor instread of memcpy() in partition_info::get_clone() (#436) List<>::last is wrong after memcpy(). Doing it on constructed objects is bad practice. --- sql/partition_info.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'sql/partition_info.cc') diff --git a/sql/partition_info.cc b/sql/partition_info.cc index c2bc530117f..656a89d8706 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -42,13 +42,12 @@ partition_info *partition_info::get_clone(THD *thd) List_iterator part_it(partitions); partition_element *part; - partition_info *clone= new (mem_root) partition_info(); + partition_info *clone= new (mem_root) partition_info(*this); if (!clone) { mem_alloc_error(sizeof(partition_info)); DBUG_RETURN(NULL); } - memcpy(clone, this, sizeof(partition_info)); memset(&(clone->read_partitions), 0, sizeof(clone->read_partitions)); memset(&(clone->lock_partitions), 0, sizeof(clone->lock_partitions)); clone->bitmaps_are_initialized= FALSE; -- cgit v1.2.1