1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-31 22:22:30 +03:00

Backport "NULL pointer check for ut_free()" from mysql-trunk-innodb to

mysql-5.1-innodb plugin to fix bug #55627 segv in ut_free pars_lexer_close
innobase_shutdown innodb-use-sys-malloc=0.
This commit is contained in:
Jimmy Yang
2010-08-03 20:20:55 -07:00
parent f4b088972a
commit e79a7e1b93
3 changed files with 13 additions and 4 deletions

View File

@@ -1,10 +1,15 @@
2010-08-03 The InnoDB Team
* include/ut0mem.h, ut/ut0mem.c:
Fix Bug #55627 segv in ut_free pars_lexer_close innobase_shutdown
innodb-use-sys-malloc=0
2010-08-01 The InnoDB Team 2010-08-01 The InnoDB Team
* handler/ha_innodb.cc * handler/ha_innodb.cc
Fix Bug #55382 Assignment with SELECT expressions takes unexpected Fix Bug #55382 Assignment with SELECT expressions takes unexpected
S locks in READ COMMITTED S locks in READ COMMITTED
2010-07-27 The InnoDB Team 2010-07-27 The InnoDB Team
* include/mem0pool.h, mem/mem0mem.c, mem/mem0pool.c, srv/srv0start.c: * include/mem0pool.h, mem/mem0mem.c, mem/mem0pool.c, srv/srv0start.c:

View File

@@ -113,7 +113,8 @@ ut_test_malloc(
ulint n); /*!< in: try to allocate this many bytes */ ulint n); /*!< in: try to allocate this many bytes */
#endif /* !UNIV_HOTBACKUP */ #endif /* !UNIV_HOTBACKUP */
/**********************************************************************//** /**********************************************************************//**
Frees a memory block allocated with ut_malloc. */ Frees a memory block allocated with ut_malloc. Freeing a NULL pointer is
a nop. */
UNIV_INTERN UNIV_INTERN
void void
ut_free( ut_free(

View File

@@ -290,7 +290,8 @@ ut_test_malloc(
#endif /* !UNIV_HOTBACKUP */ #endif /* !UNIV_HOTBACKUP */
/**********************************************************************//** /**********************************************************************//**
Frees a memory block allocated with ut_malloc. */ Frees a memory block allocated with ut_malloc. Freeing a NULL pointer is
a nop. */
UNIV_INTERN UNIV_INTERN
void void
ut_free( ut_free(
@@ -300,7 +301,9 @@ ut_free(
#ifndef UNIV_HOTBACKUP #ifndef UNIV_HOTBACKUP
ut_mem_block_t* block; ut_mem_block_t* block;
if (UNIV_LIKELY(srv_use_sys_malloc)) { if (ptr == NULL) {
return;
} else if (UNIV_LIKELY(srv_use_sys_malloc)) {
free(ptr); free(ptr);
return; return;
} }