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().
This commit is contained in:
Alexey Botchkov 2018-09-16 10:22:32 +04:00
commit e89b611dc9
6 changed files with 37 additions and 0 deletions

View file

@ -63,6 +63,7 @@ public:
};
Gcalc_dyn_list(size_t blk_size, size_t sizeof_item);
Gcalc_dyn_list(const Gcalc_dyn_list &dl);
~Gcalc_dyn_list();
Item *new_item()
{
@ -229,6 +230,12 @@ public:
Gcalc_dyn_list(blk_size, sizeof(Info)),
m_hook(&m_first), m_n_points(0)
{}
Gcalc_heap(const Gcalc_heap &gh) :
Gcalc_dyn_list(gh),
m_hook(&m_first), m_n_points(0)
{}
void set_extent(double xmin, double xmax, double ymin, double ymax);
Info *new_point_info(double x, double y, gcalc_shape_info shape);
void free_point_info(Info *i, Gcalc_dyn_list::Item **i_hook);