From 6e997a72977ac64b8d77b911e5c0b09f52fdec2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Wed, 3 Mar 2021 09:36:13 +0000 Subject: [PATCH] Fixed 'invalid reads' reported by valgrind due to access to already freed string returned by 'serial_exposer' --- lib/ProxySQL_Admin.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index bce678fc3..ccf8680ca 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -4367,9 +4367,11 @@ void admin_session_handler(MySQL_Session *sess, void *_pa, PtrSize_t *pkt) { if (__sync_fetch_and_add(&GloMTH->status_variables.threads_initialized, 0) == 1) { auto result = pa->serial_exposer({}); pta[0] = (char*)result.second.c_str(); + resultset->add_row(pta); + } else { + resultset->add_row(pta); } - resultset->add_row(pta); sess->SQLite3_to_MySQL(resultset, error, affected_rows, &sess->client_myds->myprot); delete resultset; run_query = false;