Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
020a6560
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
020a6560
编写于
8月 08, 2022
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix memory double free issue
上级
0405c4fb
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
14 addition
and
3 deletion
+14
-3
source/client/src/clientHb.c
source/client/src/clientHb.c
+1
-0
source/client/src/tmq.c
source/client/src/tmq.c
+1
-1
source/libs/catalog/src/ctgRemote.c
source/libs/catalog/src/ctgRemote.c
+3
-1
source/libs/catalog/src/ctgUtil.c
source/libs/catalog/src/ctgUtil.c
+9
-1
未找到文件。
source/client/src/clientHb.c
浏览文件 @
020a6560
...
...
@@ -286,6 +286,7 @@ static int32_t hbAsyncCallBack(void *param, SDataBuf *pMsg, int32_t code) {
if
(
pInst
==
NULL
||
NULL
==
*
pInst
)
{
taosThreadMutexUnlock
(
&
appInfo
.
mutex
);
tscError
(
"cluster not exist, key:%s"
,
key
);
taosMemoryFree
(
pMsg
->
pData
);
tFreeClientHbBatchRsp
(
&
pRsp
);
return
-
1
;
}
...
...
source/client/src/tmq.c
浏览文件 @
020a6560
...
...
@@ -1007,7 +1007,7 @@ int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
taosMemoryFree
(
pParam
);
if
(
code
!=
0
)
{
tscWarn
(
"msg discard from vgId:%d, epoch %d, code:%x"
,
vgId
,
epoch
,
code
);
if
(
pMsg
->
pData
)
taosMemoryFree
(
pMsg
->
pData
);
if
(
pMsg
->
pData
)
taosMemoryFree
Clear
(
pMsg
->
pData
);
if
(
code
==
TSDB_CODE_TQ_NO_COMMITTED_OFFSET
)
{
SMqPollRspWrapper
*
pRspWrapper
=
taosAllocateQitem
(
sizeof
(
SMqPollRspWrapper
),
DEF_QITEM
);
if
(
pRspWrapper
==
NULL
)
{
...
...
source/libs/catalog/src/ctgRemote.c
浏览文件 @
020a6560
...
...
@@ -467,6 +467,7 @@ int32_t ctgAddBatch(SCatalog* pCtg, int32_t vgId, SRequestConnInfo* pConn, SCtgT
if
(
NULL
==
taosArrayPush
(
newBatch
.
pMsgs
,
&
req
))
{
CTG_ERR_JRET
(
TSDB_CODE_OUT_OF_MEMORY
);
}
msg
=
NULL
;
if
(
NULL
==
taosArrayPush
(
newBatch
.
pTaskIds
,
&
pTask
->
taskId
))
{
CTG_ERR_JRET
(
TSDB_CODE_OUT_OF_MEMORY
);
}
...
...
@@ -517,6 +518,7 @@ int32_t ctgAddBatch(SCatalog* pCtg, int32_t vgId, SRequestConnInfo* pConn, SCtgT
if
(
NULL
==
taosArrayPush
(
pBatch
->
pMsgs
,
&
req
))
{
CTG_ERR_JRET
(
TSDB_CODE_OUT_OF_MEMORY
);
}
msg
=
NULL
;
if
(
NULL
==
taosArrayPush
(
pBatch
->
pTaskIds
,
&
pTask
->
taskId
))
{
CTG_ERR_JRET
(
TSDB_CODE_OUT_OF_MEMORY
);
}
...
...
@@ -545,7 +547,7 @@ int32_t ctgAddBatch(SCatalog* pCtg, int32_t vgId, SRequestConnInfo* pConn, SCtgT
CTG_ERR_JRET
(
TSDB_CODE_APP_ERROR
);
}
tNameGetFullDbName
(
pName
,
newBatch
.
dbFName
);
tNameGetFullDbName
(
pName
,
pBatch
->
dbFName
);
}
ctgDebug
(
"task %d %s req added to batch %d, target vgId %d"
,
pTask
->
taskId
,
TMSG_INFO
(
msgType
),
pBatch
->
batchId
,
...
...
source/libs/catalog/src/ctgUtil.c
浏览文件 @
020a6560
...
...
@@ -438,6 +438,14 @@ void ctgFreeMsgCtx(SCtgMsgCtx* pCtx) {
}
}
void
ctgFreeTbMetasMsgCtx
(
SCtgMsgCtx
*
pCtx
)
{
ctgFreeMsgCtx
(
pCtx
);
if
(
pCtx
->
lastOut
)
{
ctgFreeSTableMetaOutput
((
STableMetaOutput
*
)
pCtx
->
lastOut
);
pCtx
->
lastOut
=
NULL
;
}
}
void
ctgFreeSTableMetaOutput
(
STableMetaOutput
*
pOutput
)
{
if
(
NULL
==
pOutput
)
{
return
;
...
...
@@ -641,7 +649,7 @@ void ctgFreeTaskCtx(SCtgTask* pTask) {
taosArrayDestroy
(
taskCtx
->
pFetchs
);
// NO NEED TO FREE pNames
taosArrayDestroyEx
(
pTask
->
msgCtxs
,
(
FDelete
)
ctgFreeMsgCtx
);
taosArrayDestroyEx
(
pTask
->
msgCtxs
,
(
FDelete
)
ctgFree
TbMetas
MsgCtx
);
if
(
pTask
->
msgCtx
.
lastOut
)
{
ctgFreeSTableMetaOutput
((
STableMetaOutput
*
)
pTask
->
msgCtx
.
lastOut
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录