diff options
author | He Zhenxing <zhenxing.he@sun.com> | 2009-10-02 16:18:40 +0800 |
---|---|---|
committer | He Zhenxing <zhenxing.he@sun.com> | 2009-10-02 16:18:40 +0800 |
commit | bb6953d1d80e5fef2e333e0a4147aa5a43e809ab (patch) | |
tree | 237d3b2bcf002c27bf44f70a7bb90f0236fae8f7 /client/mysqlbinlog.cc | |
parent | f509a3589653575f1e9dc9f05de11a86be710a68 (diff) | |
download | mariadb-git-bb6953d1d80e5fef2e333e0a4147aa5a43e809ab.tar.gz |
Backport BUG#38468 Memory leak detected when using mysqlbinlog utility
There were two memory leaks in mysqlbinlog command, one was already
fixed by previous patches, another one was that defaults_argv was
set to the value of argv after parse_args, in which called
handle_options after calling load_defaults and changed the value
of argv, and caused the memory allocated for defaults arguments
not freed.
Fixed the problem by setting defaults_argv right after calling
load_defaults.
Diffstat (limited to 'client/mysqlbinlog.cc')
-rw-r--r-- | client/mysqlbinlog.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 82af7ca65f6..5713dfa59a1 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1346,7 +1346,6 @@ static int parse_args(int *argc, char*** argv) int ho_error; result_file = stdout; - load_defaults("my",load_default_groups,argc,argv); if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option))) exit(ho_error); if (debug_info_flag) @@ -1998,8 +1997,9 @@ int main(int argc, char** argv) my_init_time(); // for time functions + load_defaults("my", load_default_groups, &argc, &argv); + defaults_argv= argv; parse_args(&argc, (char***)&argv); - defaults_argv=argv; if (!argc) { |