diff --git a/lib/MySQL_Logger.cpp b/lib/MySQL_Logger.cpp index 06cf1dfc2..6e52a7bbb 100644 --- a/lib/MySQL_Logger.cpp +++ b/lib/MySQL_Logger.cpp @@ -584,6 +584,8 @@ void MySQL_Logger::events_set_base_filename() { } void MySQL_Logger::events_set_datadir(char *s) { + if (events.datadir) + free(events.datadir); events.datadir=strdup(s); flush_log(); }; @@ -612,6 +614,8 @@ void MySQL_Logger::audit_set_base_filename() { } void MySQL_Logger::audit_set_datadir(char *s) { + if (audit.datadir) + free(audit.datadir); audit.datadir=strdup(s); flush_log(); }; diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index 2ec872752..f0b363ac4 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -5033,6 +5033,7 @@ void ProxySQL_Admin::flush_admin_variables___database_to_runtime(SQLite3DB *db, sprintf(q,"DELETE FROM global_variables WHERE variable_name=\"admin-%s\"",r->fields[0]); db->execute(q); } + free(val); } } else { proxy_debug(PROXY_DEBUG_ADMIN, 4, "Set variable %s with value \"%s\"\n", r->fields[0],r->fields[1]);