From d0038aa7d5cc540e7d897d7fc0b4105fa8b6353f Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 31 Mar 2003 13:32:34 +0500 Subject: Bug fix: should use my_multi_malloc() here!!! --- myisam/rt_split.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'myisam') diff --git a/myisam/rt_split.c b/myisam/rt_split.c index 879cc0dc1dd..9ab26c78171 100644 --- a/myisam/rt_split.c +++ b/myisam/rt_split.c @@ -264,16 +264,15 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, int max_keys = (mi_getint(page)-2) / (full_length); n_dim = keyinfo->keysegs / 2; + + if (!my_multi_malloc(MYF(0), + &coord_buf, n_dim * 2 * sizeof(double) * (max_keys + 1 + 4), + &task, sizeof(SplitStruct) * (max_keys + 1), + NullS)) + return -1; - { - int coord_buf_size = n_dim * 2 * sizeof(double) * (max_keys + 1 + 4); - coord_buf = - my_alloca(coord_buf_size + sizeof(SplitStruct) * (max_keys + 1)); - - task = (SplitStruct *)(((char *)coord_buf) + coord_buf_size); - } next_coord = coord_buf; - + stop = task + max_keys; source_cur = rt_PAGE_FIRST_KEY(page, nod_flag); -- cgit v1.2.1