From be6fa25809df11afff6cd767813393339ba117df Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 16 Dec 2015 15:05:22 -0700 Subject: [PATCH] client: fix double free of command on timeout Signed-off-by: Jens Axboe --- client.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/client.c b/client.c index 637cd3fb..f4b95d32 100644 --- a/client.c +++ b/client.c @@ -1666,12 +1666,13 @@ static void request_client_etas(struct client_ops *ops) static int handle_cmd_timeout(struct fio_client *client, struct fio_net_cmd_reply *reply) { + flist_del(&reply->list); + free(reply); + if (reply->opcode != FIO_NET_CMD_SEND_ETA) return 1; log_info("client <%s>: timeout on SEND_ETA\n", client->hostname); - flist_del(&reply->list); - free(reply); flist_del_init(&client->eta_list); if (client->eta_in_flight) { @@ -1706,8 +1707,6 @@ static int client_check_cmd_timeout(struct fio_client *client, log_err("fio: client %s, timeout on cmd %s\n", client->hostname, fio_server_op(reply->opcode)); - flist_del(&reply->list); - free(reply); ret = 1; } -- 2.25.1