mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
When compiling with valgrind, change my_alloca() to use my_malloc()
- This allows us to detect missing my_afree() calls and also find overruns (when running with valgrind) to alloca() areas. - Added missing my_afree() calls - Fixed wrong call to my_afree() include/my_sys.h: When compiling with valgrind, change my_alloca() to use my_malloc() mysql-test/suite/innodb/t/innodb_bug57255.test: Speed up taste case (patch from Stewart Smith) mysql-test/suite/innodb_plugin/t/innodb_bug57255.test: Speed up taste case (patch from Stewart Smith) sql/ha_partition.cc: Removed casts from my_afree() sql/opt_range.cc: Add missing my_afree() calls. storage/maria/ma_rt_split.c: Fixed wrong parameter to my_afree()
This commit is contained in:
@@ -197,7 +197,7 @@ extern void my_large_free(uchar * ptr, myf my_flags);
|
||||
#define my_large_free(A,B) my_free_lock((A),(B))
|
||||
#endif /* HAVE_LARGE_PAGES */
|
||||
|
||||
#ifdef HAVE_ALLOCA
|
||||
#if defined(HAVE_ALLOCA) && !defined(HAVE_valgrind)
|
||||
#if defined(_AIX) && !defined(__GNUC__) && !defined(_AIX43)
|
||||
#pragma alloca
|
||||
#endif /* _AIX */
|
||||
|
@@ -12,6 +12,7 @@ create table C(id int not null auto_increment primary key, f1 int not null, fore
|
||||
insert into A values(1), (2);
|
||||
|
||||
--disable_query_log
|
||||
begin;
|
||||
let $i=257;
|
||||
while ($i)
|
||||
{
|
||||
@@ -24,6 +25,7 @@ while ($i)
|
||||
insert into C(f1) values(2);
|
||||
dec $i;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
|
||||
# Following Deletes should not report error
|
||||
|
@@ -12,6 +12,7 @@ create table C(id int not null auto_increment primary key, f1 int not null, fore
|
||||
insert into A values(1), (2);
|
||||
|
||||
--disable_query_log
|
||||
begin;
|
||||
let $i=257;
|
||||
while ($i)
|
||||
{
|
||||
@@ -24,6 +25,7 @@ while ($i)
|
||||
insert into C(f1) values(2);
|
||||
dec $i;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
|
||||
# Following Deletes should not report error
|
||||
|
@@ -2432,7 +2432,7 @@ bool ha_partition::get_from_handler_file(const char *name, MEM_ROOT *mem_root)
|
||||
for (i= 0; i < m_tot_parts; i++)
|
||||
m_engine_array[i]= ha_lock_engine(NULL, engine_array[i]);
|
||||
|
||||
my_afree((gptr) engine_array);
|
||||
my_afree(engine_array);
|
||||
|
||||
if (!m_file && create_handlers(mem_root))
|
||||
{
|
||||
@@ -2442,7 +2442,7 @@ bool ha_partition::get_from_handler_file(const char *name, MEM_ROOT *mem_root)
|
||||
DBUG_RETURN(FALSE);
|
||||
|
||||
err3:
|
||||
my_afree((gptr) engine_array);
|
||||
my_afree(engine_array);
|
||||
err2:
|
||||
my_free(file_buffer, MYF(0));
|
||||
err1:
|
||||
|
@@ -11058,6 +11058,7 @@ int QUICK_GROUP_MIN_MAX_SELECT::next_min_in_range()
|
||||
/* Compare the found key with max_key. */
|
||||
int cmp_res= key_cmp(index_info->key_part, max_key,
|
||||
real_prefix_len + min_max_arg_len);
|
||||
my_afree(max_key);
|
||||
/*
|
||||
The key is outside of the range if:
|
||||
the interval is open and the key is equal to the maximum boundry
|
||||
@@ -11183,6 +11184,7 @@ int QUICK_GROUP_MIN_MAX_SELECT::next_max_in_range()
|
||||
/* Compare the found key with min_key. */
|
||||
int cmp_res= key_cmp(index_info->key_part, min_key,
|
||||
real_prefix_len + min_max_arg_len);
|
||||
my_afree(min_key);
|
||||
/*
|
||||
The key is outside of the range if:
|
||||
the interval is open and the key is equal to the minimum boundry
|
||||
|
@@ -544,8 +544,7 @@ int maria_rtree_split_page(const MARIA_KEY *key, MARIA_PAGE *page,
|
||||
}
|
||||
DBUG_PRINT("rtree", ("split new block: %lu", (ulong) *new_page_offs));
|
||||
|
||||
my_afree(new_page);
|
||||
|
||||
my_afree(new_page_buff);
|
||||
split_err:
|
||||
my_afree(coord_buf);
|
||||
DBUG_RETURN(err_code);
|
||||
|
Reference in New Issue
Block a user