diff options
author | Alexey Botchkov <holyfoot@askmonty.org> | 2018-09-16 10:22:32 +0400 |
---|---|---|
committer | Alexey Botchkov <holyfoot@askmonty.org> | 2018-09-16 10:22:32 +0400 |
commit | e89b611dc9535183d617391c4d1229f0bca66d31 (patch) | |
tree | a1cfac73b56fd51e901fd9e58ecc203e0cd31e22 /sql/gcalc_slicescan.cc | |
parent | 7419f72b7183e40a24cd53a139b78aeaf41503d2 (diff) | |
download | mariadb-git-e89b611dc9535183d617391c4d1229f0bca66d31.tar.gz |
MDEV-16050 cte + geometry functions lead to crash.
Structures based on Gcalc_dyn_list need to be treated
properly when copied in Item::get_copy().
Diffstat (limited to 'sql/gcalc_slicescan.cc')
-rw-r--r-- | sql/gcalc_slicescan.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sql/gcalc_slicescan.cc b/sql/gcalc_slicescan.cc index ab48542add6..68764205302 100644 --- a/sql/gcalc_slicescan.cc +++ b/sql/gcalc_slicescan.cc @@ -177,6 +177,17 @@ Gcalc_dyn_list::Gcalc_dyn_list(size_t blk_size, size_t sizeof_item): {} +Gcalc_dyn_list::Gcalc_dyn_list(const Gcalc_dyn_list &dl) +{ + m_blk_size= dl.m_blk_size; + m_sizeof_item= dl.m_sizeof_item; + m_points_per_blk= dl.m_points_per_blk; + m_blk_hook= &m_first_blk; + m_free= NULL; + m_keep= NULL; +} + + void Gcalc_dyn_list::format_blk(void* block) { Item *pi_end, *cur_pi, *first_pi; |