diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-07-06 20:28:08 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-07-06 20:28:08 +0300 |
commit | d902d43ce77fb41c2def1248fc572e997843ddae (patch) | |
tree | 4baa39ecc480fcc0f45f6560786752b825a262db /sql/sql_explain.cc | |
parent | 99d52c45cb4a686e618db6c6614e1fa170878116 (diff) | |
parent | 2b5c9bc2c813ea7963959e515da5d60392c35431 (diff) | |
download | mariadb-git-d902d43ce77fb41c2def1248fc572e997843ddae.tar.gz |
Merge 10.1 into 10.2
Diffstat (limited to 'sql/sql_explain.cc')
-rw-r--r-- | sql/sql_explain.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc index 6b5db7e923b..9b474fd5dee 100644 --- a/sql/sql_explain.cc +++ b/sql/sql_explain.cc @@ -350,10 +350,13 @@ int print_explain_row(select_result_sink *result, item_list.push_back(new (mem_root) Item_string_sys(thd, jtype_str), mem_root); - /* 'possible_keys' */ + /* 'possible_keys' + The buffer must not be deallocated before we call send_data, otherwise + we may end up reading freed memory. + */ + StringBuffer<64> possible_keys_buf; if (possible_keys && !possible_keys->is_empty()) { - StringBuffer<64> possible_keys_buf; push_string_list(thd, &item_list, *possible_keys, &possible_keys_buf); } else |