mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
Merge r6103 from InnoDB Plugin to the built-in InnoDB to fix Bug #53202:
------------------------------------------------------------------------ r6103 | marko | 2009-10-26 15:46:18 +0200 (Mon, 26 Oct 2009) | 4 lines Changed paths: M /branches/zip/row/row0ins.c branches/zip: row_ins_alloc_sys_fields(): Zero out the system columns DB_TRX_ID, DB_ROLL_PTR and DB_ROW_ID, in order to avoid harmless Valgrind warnings about uninitialized data. (The warnings were harmless, because the fields would be initialized at a later stage.) ------------------------------------------------------------------------
This commit is contained in:
parent
b820f404a0
commit
831f2c9c4a
4 changed files with 31 additions and 9 deletions
|
@ -138,6 +138,17 @@ mem_heap_free_func(
|
|||
mem_heap_t* heap, /* in, own: heap to be freed */
|
||||
const char* file_name, /* in: file name where freed */
|
||||
ulint line); /* in: line where freed */
|
||||
/***************************************************************//**
|
||||
Allocates and zero-fills n bytes of memory from a memory heap.
|
||||
@return allocated, zero-filled storage */
|
||||
UNIV_INLINE
|
||||
void*
|
||||
mem_heap_zalloc(
|
||||
/*============*/
|
||||
mem_heap_t* heap, /*!< in: memory heap */
|
||||
ulint n); /*!< in: number of bytes; if the heap is allowed
|
||||
to grow into the buffer pool, this must be
|
||||
<= MEM_MAX_ALLOC_IN_BUF */
|
||||
/*******************************************************************
|
||||
Allocates n bytes of memory from a memory heap. */
|
||||
UNIV_INLINE
|
||||
|
|
|
@ -122,6 +122,23 @@ mem_block_get_start(mem_block_t* block)
|
|||
return(block->start);
|
||||
}
|
||||
|
||||
/***************************************************************//**
|
||||
Allocates and zero-fills n bytes of memory from a memory heap.
|
||||
@return allocated, zero-filled storage */
|
||||
UNIV_INLINE
|
||||
void*
|
||||
mem_heap_zalloc(
|
||||
/*============*/
|
||||
mem_heap_t* heap, /*!< in: memory heap */
|
||||
ulint n) /*!< in: number of bytes; if the heap is allowed
|
||||
to grow into the buffer pool, this must be
|
||||
<= MEM_MAX_ALLOC_IN_BUF */
|
||||
{
|
||||
ut_ad(heap);
|
||||
ut_ad(!(heap->type & MEM_HEAP_BTR_SEARCH));
|
||||
return(memset(mem_heap_alloc(heap, n), 0, n));
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
Allocates n bytes of memory from a memory heap. */
|
||||
UNIV_INLINE
|
||||
|
|
|
@ -82,15 +82,9 @@ memory is read outside the allocated blocks. */
|
|||
|
||||
/* Make a non-inline debug version */
|
||||
|
||||
#if 0
|
||||
/* Please enable this when
|
||||
Bug#53202 valgrind: uninitialized bytes in dtuple_print()
|
||||
if fixed */
|
||||
#ifdef HAVE_purify
|
||||
# define UNIV_DEBUG_VALGRIND
|
||||
#endif /* HAVE_purify */
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define UNIV_DEBUG_VALGRIND /* Enable extra
|
||||
Valgrind instrumentation */
|
||||
|
|
|
@ -140,7 +140,7 @@ row_ins_alloc_sys_fields(
|
|||
|
||||
dfield = dtuple_get_nth_field(row, dict_col_get_no(col));
|
||||
|
||||
ptr = mem_heap_alloc(heap, DATA_ROW_ID_LEN);
|
||||
ptr = mem_heap_zalloc(heap, DATA_ROW_ID_LEN);
|
||||
|
||||
dfield_set_data(dfield, ptr, DATA_ROW_ID_LEN);
|
||||
|
||||
|
@ -151,7 +151,7 @@ row_ins_alloc_sys_fields(
|
|||
col = dict_table_get_sys_col(table, DATA_TRX_ID);
|
||||
|
||||
dfield = dtuple_get_nth_field(row, dict_col_get_no(col));
|
||||
ptr = mem_heap_alloc(heap, DATA_TRX_ID_LEN);
|
||||
ptr = mem_heap_zalloc(heap, DATA_TRX_ID_LEN);
|
||||
|
||||
dfield_set_data(dfield, ptr, DATA_TRX_ID_LEN);
|
||||
|
||||
|
@ -162,7 +162,7 @@ row_ins_alloc_sys_fields(
|
|||
col = dict_table_get_sys_col(table, DATA_ROLL_PTR);
|
||||
|
||||
dfield = dtuple_get_nth_field(row, dict_col_get_no(col));
|
||||
ptr = mem_heap_alloc(heap, DATA_ROLL_PTR_LEN);
|
||||
ptr = mem_heap_zalloc(heap, DATA_ROLL_PTR_LEN);
|
||||
|
||||
dfield_set_data(dfield, ptr, DATA_ROLL_PTR_LEN);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue