summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2017-07-13 14:49:57 +0000
committerVladislav Vaintroub <wlad@mariadb.com>2017-07-13 14:49:57 +0000
commitf58142f644cd773c0eb02ba95920ca7ac55799d3 (patch)
tree00a5ed28456d0c00be95f1ee9401b78c91fa6aa4
parent9284e8b2c64aba1ac108512ecc415a2ea563c387 (diff)
downloadmariadb-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.cc6
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;
}