From 03f30f721f480fe659072c4f458b9f67a68f6251 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Thu, 19 Sep 2024 09:47:48 +0800 Subject: [PATCH] fix invalid read --- source/libs/transport/src/transCli.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index fd17e163b8..026b7b2c91 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -1057,11 +1057,10 @@ static void cliDestroy(uv_handle_t* handle) { } taosMemoryFree(conn->buf); - destroyWQ(&conn->wq); + (void)transDestroyBuffer(&conn->readBuf); tTrace("%s conn %p destroy successfully", CONN_GET_INST_LABEL(conn), conn); - (void)transDestroyBuffer(&conn->readBuf); taosMemoryFree(conn); } @@ -1114,6 +1113,8 @@ static void cliHandleException(SCliConn* conn) { destroyReq(pReq); } } + + QUEUE_REMOVE(&conn->q); if (conn->registered) { int8_t ref = transGetRefCount(conn); if (ref == 0 && !uv_is_closing((uv_handle_t*)conn->stream)) {