diff options
author | Michael Widenius <monty@askmonty.org> | 2010-01-15 17:27:55 +0200 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2010-01-15 17:27:55 +0200 |
commit | d8ecbbe63471f958aa70443545b63d88d2db0230 (patch) | |
tree | 32a6f432080d9125b3619f8935eb5b1de00e861d /sql/sql_load.cc | |
parent | d121e6630519a66eec7c953ee0eae623f592ce87 (diff) | |
parent | 6d69089845ed4c50df0ca8136a2cdacb8f2e1380 (diff) | |
download | mariadb-git-d8ecbbe63471f958aa70443545b63d88d2db0230.tar.gz |
Merge with MySQL 5.1.42
- Marked a couple of tests with --big
- Fixed xtradb/handler/ha_innodb.cc to call explain_filename()
storage/xtradb/handler/ha_innodb.cc:
Call explain_filename() to get proper names for partitioned tables
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r-- | sql/sql_load.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc index 2467116d8dc..d9c3868092c 100644 --- a/sql/sql_load.cc +++ b/sql/sql_load.cc @@ -304,7 +304,8 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list, else { (void) fn_format(name, ex->file_name, mysql_real_data_home, "", - MY_RELATIVE_PATH | MY_UNPACK_FILENAME); + MY_RELATIVE_PATH | MY_UNPACK_FILENAME | + MY_RETURN_REAL_PATH); #if !defined(__WIN__) && ! defined(__NETWARE__) MY_STAT stat_info; if (!my_stat(name,&stat_info,MYF(MY_WME))) @@ -347,12 +348,16 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list, DBUG_ASSERT(FALSE); #endif } - else if (opt_secure_file_priv && - strncmp(opt_secure_file_priv, name, strlen(opt_secure_file_priv))) + else if (opt_secure_file_priv) { - /* Read only allowed from within dir specified by secure_file_priv */ - my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--secure-file-priv"); - DBUG_RETURN(TRUE); + char secure_file_real_path[FN_REFLEN]; + (void) my_realpath(secure_file_real_path, opt_secure_file_priv, 0); + if (strncmp(secure_file_real_path, name, strlen(secure_file_real_path))) + { + /* Read only allowed from within dir specified by secure_file_priv */ + my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--secure-file-priv"); + DBUG_RETURN(TRUE); + } } } |