mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
MDEV-31925 Fix for File Leak in mysql_upgrade with --check-if-upgrade-is-needed Option
This commit addresses the file leakage problem encountered with the mysql_upgrade --check-if-upgrade-is-needed command.
This commit is contained in:
parent
87a5d16911
commit
be694384d4
3 changed files with 34 additions and 1 deletions
|
@ -1374,7 +1374,12 @@ int main(int argc, char **argv)
|
|||
open_mysql_upgrade_file();
|
||||
|
||||
if (opt_check_upgrade)
|
||||
exit(upgrade_already_done(0) == 0);
|
||||
{
|
||||
int upgrade_needed = upgrade_already_done(0);
|
||||
free_used_memory();
|
||||
my_end(my_end_arg);
|
||||
exit(upgrade_needed == 0);
|
||||
}
|
||||
|
||||
/* Find mysqlcheck */
|
||||
find_tool(mysqlcheck_path, IF_WIN("mysqlcheck.exe", "mysqlcheck"), self_name);
|
||||
|
|
4
mysql-test/main/mysql_upgrade_file_leak.result
Normal file
4
mysql-test/main/mysql_upgrade_file_leak.result
Normal file
|
@ -0,0 +1,4 @@
|
|||
Running mysql_upgrade with --check-if-upgrade-is-needed
|
||||
Checking for absence of temporary files by mysql_upgrade
|
||||
No temporary files found
|
||||
End of 10.4 tests
|
24
mysql-test/main/mysql_upgrade_file_leak.test
Normal file
24
mysql-test/main/mysql_upgrade_file_leak.test
Normal file
|
@ -0,0 +1,24 @@
|
|||
-- source include/mysql_upgrade_preparation.inc
|
||||
|
||||
#
|
||||
# MDEV-31925 mysqld_upgrade --check-if-upgrade-is-needed leaks files
|
||||
#
|
||||
|
||||
# Run mysql_upgrade with --check-if-upgrade-is-needed
|
||||
--echo Running mysql_upgrade with --check-if-upgrade-is-needed
|
||||
--exec $MYSQL_UPGRADE --check-if-upgrade-is-needed 2>&1
|
||||
|
||||
# Check if temporary files related to mysql_upgrade are cleared
|
||||
--echo Checking for absence of temporary files by mysql_upgrade
|
||||
--perl
|
||||
|
||||
# Use the temporary directory path from the MySQL configuration
|
||||
my $tmpdir = "$ENV{MYSQL_TMP_DIR}";
|
||||
|
||||
die "Test failed: Found temporary file left by mysql_upgrade\n" if (glob("$tmpdir/mysql_upgrade-*"));
|
||||
print "No temporary files found\n";
|
||||
EOF
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
|
||||
--echo End of 10.4 tests
|
Loading…
Add table
Reference in a new issue