1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-07 02:42:49 +03:00

memory leaks after CONC-589, e09e24e8

we cannot just set `mysql->net.pvio= NULL`
we need to free(net->pvio) first.
And not protect `free(net->buff)` with `if (mysql->net.pvio)`.
This commit is contained in:
Sergei Golubchik
2025-01-23 19:54:44 +01:00
committed by Sergei Golubchik
parent 1a34542eac
commit 836db56372

View File

@@ -387,6 +387,7 @@ mthd_my_send_cmd(MYSQL *mysql,enum enum_server_command command, const char *arg,
(socket) is still available */ (socket) is still available */
if (command != COM_QUIT && mysql->options.reconnect && ma_pvio_is_alive(mysql->net.pvio)) if (command != COM_QUIT && mysql->options.reconnect && ma_pvio_is_alive(mysql->net.pvio))
{ {
ma_pvio_close(mysql->net.pvio);
mysql->net.pvio= NULL; mysql->net.pvio= NULL;
mysql->net.error= 1; mysql->net.error= 1;
} }
@@ -2116,8 +2117,6 @@ void my_set_error(MYSQL *mysql,
} }
void mysql_close_slow_part(MYSQL *mysql) void mysql_close_slow_part(MYSQL *mysql)
{
if (mysql->net.pvio)
{ {
free_old_query(mysql); free_old_query(mysql);
mysql->status=MYSQL_STATUS_READY; /* Force command */ mysql->status=MYSQL_STATUS_READY; /* Force command */
@@ -2126,7 +2125,6 @@ void mysql_close_slow_part(MYSQL *mysql)
ma_simple_command(mysql, COM_QUIT,NullS,0,1,0); ma_simple_command(mysql, COM_QUIT,NullS,0,1,0);
end_server(mysql); end_server(mysql);
} }
}
static void ma_clear_session_state(MYSQL *mysql) static void ma_clear_session_state(MYSQL *mysql)
{ {