Corrected fix for not freed memory when using corrupted tables

This commit is contained in:
monty@tik.mysql.fi 2002-03-05 17:38:16 +02:00
parent cde0896521
commit c1ab560c3d
4 changed files with 11 additions and 2 deletions

View file

@ -46892,6 +46892,12 @@ not yet 100% confident in this code.
@itemize @bullet
@item
Memory leak (16 bytes per every @strong{corrupted} table) closed.
@item
Fixed binary builds to use @code{--enable-local-infile}.
@item
Update source to work with new @code{bison} version.
@item
Updated shell scripts to new agree with new POSIX standard.
@end itemize
@node News-3.23.49, News-3.23.48, News-3.23.50, News-3.23.x
@ -46909,6 +46915,8 @@ Added options to make @code{LOAD DATA LOCAL INFILE} more secure.
MySQL binary release 3.23.48 for Linux contained a new glibc library, which
has serious problems under high load and RedHat 7.2. The 3.23.49 binary
release doesn't have this problem.
@item
Fixed shutdown problem on NT.
@end itemize
@node News-3.23.48, News-3.23.47, News-3.23.49, News-3.23.x

View file

@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
AM_INIT_AUTOMAKE(mysql, 3.23.49a)
AM_INIT_AUTOMAKE(mysql, 3.23.50)
AM_CONFIG_HEADER(config.h)
PROTOCOL_VERSION=10

View file

@ -277,7 +277,6 @@ void intern_close_table(TABLE *table)
free_io_cache(table);
if (table->file)
VOID(closefrm(table)); // close file
hash_free(&table->name_hash);
}

View file

@ -573,6 +573,7 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
delete outparam->file;
outparam->file=0; // For easyer errorchecking
outparam->db_stat=0;
hash_free(&outparam->name_hash);
free_root(&outparam->mem_root,MYF(0));
my_free(outparam->table_name,MYF(MY_ALLOW_ZERO_PTR));
DBUG_RETURN (error);
@ -600,6 +601,7 @@ int closefrm(register TABLE *table)
}
delete table->file;
table->file=0; /* For easyer errorchecking */
hash_free(&outparam->name_hash);
free_root(&table->mem_root,MYF(0));
DBUG_RETURN(error);
}