3389 Mats Kindahl 2010-11-29 [merge]
Merging patch for BUG#58455 with mysql-trunk-bugfixing.
removed:
mysql-test/suite/optimizer_unfixed_bugs/
mysql-test/suite/optimizer_unfixed_bugs/README.txt
mysql-test/suite/optimizer_unfixed_bugs/r/
mysql-test/suite/optimizer_unfixed_bugs/r/bug42991.result
mysql-test/suite/optimizer_unfixed_bugs/r/bug49129.result
mysql-test/suite/optimizer_unfixed_bugs/t/
mysql-test/suite/optimizer_unfixed_bugs/t/bug42991.test
mysql-test/suite/optimizer_unfixed_bugs/t/bug49129.test
packaging/WiX/ca/CustomAction.rc
added:
mysql-test/extra/rpl_tests/rpl_change_master.test
mysql-test/extra/rpl_tests/rpl_change_master_bind.inc
mysql-test/extra/rpl_tests/rpl_crash_safe.inc
mysql-test/extra/rpl_tests/rpl_crash_safe.test
mysql-test/include/ctype_8bit.inc
mysql-test/include/ctype_czech.inc
mysql-test/include/ctype_like_ignorable.inc
mysql-test/include/not_master_info_table.inc
mysql-test/include/not_relay_log_info_table.inc
mysql-test/r/ctype_like_range.result
mysql-test/suite/rpl/r/rpl_change_master_crash_safe.result
mysql-test/suite/rpl/r/rpl_migration_crash_safe.result
mysql-test/suite/rpl/r/rpl_mixed_crash_safe.result
mysql-test/suite/rpl/r/rpl_row_crash_safe.result
mysql-test/suite/rpl/r/rpl_stm_crash_safe.result
mysql-test/suite/rpl/t/rpl_change_master_crash_safe-slave.opt
mysql-test/suite/rpl/t/rpl_change_master_crash_safe.test
mysql-test/suite/rpl/t/rpl_migration_crash_safe.test
mysql-test/suite/rpl/t/rpl_mixed_crash_safe-slave.opt
mysql-test/suite/rpl/t/rpl_mixed_crash_safe.test
mysql-test/suite/rpl/t/rpl_row_crash_safe-slave.opt
mysql-test/suite/rpl/t/rpl_row_crash_safe.test
mysql-test/suite/rpl/t/rpl_stm_crash_safe-slave.opt
mysql-test/suite/rpl/t/rpl_stm_crash_safe.test
mysql-test/t/ctype_like_range.test
sql/rpl_info_table.cc
sql/rpl_info_table.h
sql/rpl_info_table_access.cc
sql/rpl_info_table_access.h
sql/rpl_info_values.cc
sql/rpl_info_values.h
modified:
CMakeLists.txt
client/client_priv.h
client/mysql.cc
client/mysqlbinlog.cc
client/mysqlcheck.c
client/mysqldump.c
client/mysqltest.cc
cmake/do_abi_check.cmake
cmake/dtrace.cmake
cmake/mysql_version.cmake
cmake/plugin.cmake
cmd-line-utils/libedit/CMakeLists.txt
extra/comp_err.c
extra/resolve_stack_dump.c
include/m_ctype.h
include/my_sys.h
libmysql/conf_to_src.c
libmysql/errmsg.c
libmysql/get_password.c
libmysql/libmysql.c
libmysqld/CMakeLists.txt
mysql-test/collections/default.experimental
mysql-test/extra/binlog_tests/binlog.test
mysql-test/extra/binlog_tests/binlog_insert_delayed.test
mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test
mysql-test/include/check_ipv6.inc
mysql-test/include/icp_tests.inc
mysql-test/include/restart_mysqld.inc
mysql-test/lib/mtr_cases.pm
mysql-test/mysql-test-run.pl
mysql-test/r/1st.result
mysql-test/r/connect.result
mysql-test/r/create.result
mysql-test/r/ctype_binary.result
mysql-test/r/ctype_collate.result
mysql-test/r/ctype_cp1251.result
mysql-test/r/ctype_latin1.result
mysql-test/r/ctype_uca.result
mysql-test/r/ctype_utf16_uca.result
mysql-test/r/ctype_utf32_uca.result
mysql-test/r/ctype_utf8.result
mysql-test/r/ctype_utf8mb4_uca.result
mysql-test/r/explain.result
mysql-test/r/fulltext.result
mysql-test/r/func_gconcat.result
mysql-test/r/func_math.result
mysql-test/r/func_misc.result
mysql-test/r/func_time.result
mysql-test/r/group_by.result
mysql-test/r/index_merge_innodb.result
mysql-test/r/index_merge_myisam.result
mysql-test/r/information_schema.result
mysql-test/r/innodb_icp.result
mysql-test/r/innodb_icp_all.result
mysql-test/r/innodb_icp_none.result
mysql-test/r/innodb_mrr_none.result
mysql-test/r/join_cache_jcl1.result
mysql-test/r/join_nested.result
mysql-test/r/join_optimizer.result
mysql-test/r/join_outer.result
mysql-test/r/log_tables.result
mysql-test/r/log_tables_upgrade.result
mysql-test/r/merge.result
mysql-test/r/mix2_myisam.result
mysql-test/r/myisam.result
mysql-test/r/myisam_icp.result
mysql-test/r/myisam_icp_all.result
mysql-test/r/myisam_icp_none.result
mysql-test/r/myisam_mrr_none.result
mysql-test/r/mysql.result
mysql-test/r/mysql_upgrade.result
mysql-test/r/mysql_upgrade_ssl.result
mysql-test/r/mysqlcheck.result
mysql-test/r/mysqld--help-notwin.result
mysql-test/r/mysqld--help-win.result
mysql-test/r/mysqltest.result
mysql-test/r/null.result
mysql-test/r/optimizer_switch.result
mysql-test/r/partition_innodb.result
mysql-test/r/plugin_auth.result
mysql-test/r/ps_1general.result
mysql-test/r/subquery_all.result
mysql-test/r/subquery_all_jcl6.result
mysql-test/r/subquery_nomat_nosj.result
mysql-test/r/subquery_nomat_nosj_jcl6.result
mysql-test/r/subquery_none_jcl6.result
mysql-test/r/system_mysql_db.result
mysql-test/r/variables.result
mysql-test/suite/binlog/r/binlog_row_binlog.result
mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
mysql-test/suite/binlog/r/binlog_stm_binlog.result
mysql-test/suite/binlog/t/binlog_max_extension.test
mysql-test/suite/funcs_1/r/is_columns_mysql.result
mysql-test/suite/funcs_1/r/is_key_column_usage.result
mysql-test/suite/funcs_1/r/is_statistics.result
mysql-test/suite/funcs_1/r/is_statistics_mysql.result
mysql-test/suite/funcs_1/r/is_table_constraints.result
mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
mysql-test/suite/funcs_1/r/is_tables_mysql.result
mysql-test/suite/innodb/r/innodb.result
mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
mysql-test/suite/innodb/r/innodb_mysql.result
mysql-test/suite/perfschema/r/pfs_upgrade_lc0.result
mysql-test/suite/perfschema/r/pfs_upgrade_lc1.result
mysql-test/suite/perfschema/r/pfs_upgrade_lc2.result
mysql-test/suite/rpl/r/rpl_change_master.result
mysql-test/suite/rpl/r/rpl_slave_status.result
mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result
mysql-test/suite/rpl/t/disabled.def
mysql-test/suite/rpl/t/rpl_change_master.test
mysql-test/suite/rpl/t/rpl_flushlog_loop.test
mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
mysql-test/suite/rpl/t/rpl_rotate_logs.test
mysql-test/suite/rpl/t/rpl_seconds_behind_master.test
mysql-test/suite/rpl/t/rpl_show_master_info_file.test
mysql-test/suite/rpl/t/rpl_slave_status.test
mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test
mysql-test/suite/rpl/t/rpl_sync.test
mysql-test/suite/rpl/t/rpl_trigger.test
mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
mysql-test/suite/sys_vars/t/master_info_repository_basic.test
mysql-test/suite/sys_vars/t/relay_log_info_repository_basic.test
mysql-test/t/ctype_cp1251.test
mysql-test/t/ctype_uca.test
mysql-test/t/ctype_utf16_uca.test
mysql-test/t/ctype_utf32_uca.test
mysql-test/t/ctype_utf8.test
mysql-test/t/ctype_utf8mb4_uca.test
mysql-test/t/explain.test
mysql-test/t/fulltext.test
mysql-test/t/func_gconcat.test
mysql-test/t/func_math.test
mysql-test/t/func_misc.test
mysql-test/t/func_time.test
mysql-test/t/group_by.test
mysql-test/t/join_outer.test
mysql-test/t/mysql.test
mysql-test/t/mysqltest.test
mysql-test/t/partition_innodb.test
mysql-test/t/server_uuid_embedded.test
mysql-test/t/system_mysql_db_fix40123.test
mysql-test/t/system_mysql_db_fix50030.test
mysql-test/t/system_mysql_db_fix50117.test
mysql-test/t/variables.test
mysys/array.c
mysys/default.c
mysys/mf_tempdir.c
mysys/my_symlink.c
packaging/WiX/ca/CMakeLists.txt
packaging/WiX/mysql_server.wxs.in
scripts/make_binary_distribution.sh
scripts/make_win_bin_dist
scripts/mysql_install_db.pl.in
scripts/mysql_install_db.sh
scripts/mysql_system_tables.sql
sql-common/client.c
sql/CMakeLists.txt
sql/ha_partition.cc
sql/item_create.cc
sql/item_func.cc
sql/item_func.h
sql/item_strfunc.cc
sql/item_strfunc.h
sql/item_subselect.cc
sql/item_sum.cc
sql/item_timefunc.cc
sql/lex.h
sql/lock.cc
sql/log_event.cc
sql/mysqld.cc
sql/opt_range.cc
sql/rpl_filter.cc
sql/rpl_handler.cc
sql/rpl_info.h
sql/rpl_info_factory.cc
sql/rpl_info_factory.h
sql/rpl_info_file.cc
sql/rpl_info_file.h
sql/rpl_info_handler.cc
sql/rpl_info_handler.h
sql/rpl_mi.cc
sql/rpl_mi.h
sql/rpl_rli.h
sql/rpl_slave.cc
sql/rpl_slave.h
sql/server_ids.h
sql/set_var.h
sql/share/charsets/cp1251.xml
sql/share/errmsg-utf8.txt
sql/sp_head.cc
sql/sp_pcontext.cc
sql/sp_pcontext.h
sql/sql_array.h
sql/sql_audit.cc
sql/sql_base.cc
sql/sql_base.h
sql/sql_binlog.cc
sql/sql_class.h
sql/sql_insert.cc
sql/sql_lex.h
sql/sql_parse.cc
sql/sql_parse.h
sql/sql_plugin.cc
sql/sql_priv.h
sql/sql_select.cc
sql/sql_select.h
sql/sql_show.cc
sql/sql_test.cc
sql/sql_yacc.yy
sql/sys_vars.cc
sql/table.cc
sql/table.h
sql/uniques.cc
storage/federated/ha_federated.cc
strings/CHARSET_INFO.txt
strings/ctype-extra.c
strings/ctype-mb.c
strings/ctype-uca.c
strings/ctype-ucs2.c
support-files/mysql.spec.sh
=== added file 'mysql-test/r/mysqld--defaults-file.result'
--- a/mysql-test/r/mysqld--defaults-file.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/mysqld--defaults-file.result 2010-11-27 20:21:16 +0000
@@ -0,0 +1,12 @@
+Could not open required defaults file: /path/with/no/extension
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: /path/with.ext
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/relative/path/with.ext
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/relative/path/without/extension
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/with.ext
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/no_extension
+Fatal error in defaults handling. Program aborted
=== added file 'mysql-test/t/mysqld--defaults-file.test'
--- a/mysql-test/t/mysqld--defaults-file.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/mysqld--defaults-file.test 2010-11-27 20:21:16 +0000
@@ -0,0 +1,46 @@
+# BUG#58455
+# Starting mysqld with defaults file without extension cause
+# segmentation fault
+
+source include/not_embedded.inc;
+
+# We need to use a plain "mysqld" without any other options to trigger
+# the bug. In particular, it seems that passing --bootstrap does not
+# trigger the bug. To do that, we extract the "command name" from the
+# MYSQLD_BOOTSTRAP_CMD variable and store that in a file, which we
+# then load into the test case.
+
+perl;
+ my ($mysqld)= split " ", $ENV{MYSQLD_BOOTSTRAP_CMD};
+ open(FILE, ">", "$ENV{MYSQL_TMP_DIR}/mysqld.inc") or die;
+ print FILE "let \$MYSQLD= $mysqld;\n";
+ close FILE;
+EOF
+
+source $MYSQL_TMP_DIR/mysqld.inc;
+
+# All these tests refer to configuration files that do not exist
+
+--error 1
+exec $MYSQLD --defaults-file=/path/with/no/extension --print-defaults 2>&1;
+
+--error 1
+exec $MYSQLD --defaults-file=/path/with.ext --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=relative/path/with.ext --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=relative/path/without/extension --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=with.ext --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=no_extension --print-defaults 2>&1;
+
+remove_file $MYSQL_TMP_DIR/mysqld.inc;
=== modified file 'mysys/default.c'
--- a/mysys/default.c 2010-11-26 13:46:21 +0000
+++ b/mysys/default.c 2010-11-29 11:10:09 +0000
@@ -165,7 +165,7 @@ fn_expand(const char *filename, char *re
if (my_getwd(dir, sizeof(dir), MYF(0)))
DBUG_RETURN(3);
DBUG_PRINT("debug", ("dir: %s", dir));
- if (fn_format(result_buf, filename, dir, NULL, flags) == NULL)
+ if (fn_format(result_buf, filename, dir, "", flags) == NULL)
DBUG_RETURN(2);
DBUG_PRINT("return", ("result: %s", result_buf));
DBUG_RETURN(0);
=== modified file 'mysys/mf_format.c'
--- a/mysys/mf_format.c 2009-04-19 01:21:33 +0000
+++ b/mysys/mf_format.c 2010-11-27 20:21:16 +0000
@@ -31,6 +31,8 @@ char * fn_format(char * to, const char *
reg1 size_t length;
size_t dev_length;
DBUG_ENTER("fn_format");
+ DBUG_ASSERT(name != NULL);
+ DBUG_ASSERT(extension != NULL);
DBUG_PRINT("enter",("name: %s dir: %s extension: %s flag: %d",
name,dir,extension,flag));
Attachment: [text/bzr-bundle] bzr/mats.kindahl@oracle.com-20101129111009-918w3ri77z03p05m.bundle
| Thread |
|---|
| • bzr push into mysql-trunk-bugfixing branch (mats.kindahl:3389) Bug#58455 | Mats Kindahl | 29 Nov |