From dbfb38680a0ead0d142b111f3e2c9fbbf120f061 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Tue, 24 Sep 2024 17:35:46 +0800 Subject: [PATCH] fix invalid read --- source/libs/transport/src/transCli.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index d906145a7b..68c5b575ba 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -3356,11 +3356,14 @@ int32_t transFreeConnById(void* shandle, int64_t transpointId) { } _exception: - transReleaseExHandle(transGetInstMgt(), (int64_t)shandle); - - (void)transReleaseExHandle(transGetRefMgt(), transpointId); - (void)transRemoveExHandle(transGetRefMgt(), transpointId); - taosMemoryFree(pCli); + transReleaseExHandle(transGetInstMgt(), (int64_t)shandle); + if (code != 0) { + if (transpointId != 0) { + (void)transReleaseExHandle(transGetRefMgt(), transpointId); + (void)transRemoveExHandle(transGetRefMgt(), transpointId); + } + taosMemoryFree(pCli); + } return code; }