diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2017-07-13 14:49:57 +0000 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2017-07-13 14:49:57 +0000 |
commit | f58142f644cd773c0eb02ba95920ca7ac55799d3 (patch) | |
tree | 00a5ed28456d0c00be95f1ee9401b78c91fa6aa4 | |
parent | 9284e8b2c64aba1ac108512ecc415a2ea563c387 (diff) | |
download | mariadb-git-f58142f644cd773c0eb02ba95920ca7ac55799d3.tar.gz |
Mariabackup : don't change argv[0] to "innobackupex" in innobackupex mode.
addr2line utility optionally used to output stacktrace relies relies on
correct my_progname, which is initialized from argv[0] from main function.
Thus, changing argv[0] can confuse stacktrace output.
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index 6e15a9973ce..f71280a6e49 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -6399,8 +6399,7 @@ handle_options(int argc, char **argv, char ***argv_client, char ***argv_server) for (n = 0; (*argv_client)[n]; n++) {}; argc_client = n; - if (strcmp(base_name(my_progname), INNOBACKUPEX_BIN_NAME) == 0 && - argc_client > 0) { + if (innobackupex_mode && argc_client > 0) { /* emulate innobackupex script */ innobackupex_mode = true; if (!ibx_handle_options(&argc_client, argv_client)) { @@ -6446,12 +6445,11 @@ int main(int argc, char **argv) { char **client_defaults, **server_defaults; char cwd[FN_REFLEN]; - static char INNOBACKUPEX_EXE[]= "innobackupex"; + static char INNOBACKUPEX_EXE[]= "innobackupex"; if (argc > 1 && (strcmp(argv[1], "--innobackupex") == 0)) { argv++; argc--; - argv[0] = INNOBACKUPEX_EXE; innobackupex_mode = true; } |