Merge pull request #19069 from taosdata/fix/TD-21433
fix: heap-use-after-free while alter vnode replicas
This commit is contained in:
commit
898e066b16
|
@ -1294,10 +1294,6 @@ void syncNodeClose(SSyncNode* pSyncNode) {
|
||||||
syncNodeStopElectTimer(pSyncNode);
|
syncNodeStopElectTimer(pSyncNode);
|
||||||
syncNodeStopHeartbeatTimer(pSyncNode);
|
syncNodeStopHeartbeatTimer(pSyncNode);
|
||||||
|
|
||||||
if (pSyncNode->pFsm != NULL) {
|
|
||||||
taosMemoryFree(pSyncNode->pFsm);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
|
for (int32_t i = 0; i < TSDB_MAX_REPLICA; ++i) {
|
||||||
if ((pSyncNode->senders)[i] != NULL) {
|
if ((pSyncNode->senders)[i] != NULL) {
|
||||||
sSTrace((pSyncNode->senders)[i], "snapshot sender destroy while close, data:%p", (pSyncNode->senders)[i]);
|
sSTrace((pSyncNode->senders)[i], "snapshot sender destroy while close, data:%p", (pSyncNode->senders)[i]);
|
||||||
|
@ -1320,6 +1316,10 @@ void syncNodeClose(SSyncNode* pSyncNode) {
|
||||||
pSyncNode->pNewNodeReceiver = NULL;
|
pSyncNode->pNewNodeReceiver = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pSyncNode->pFsm != NULL) {
|
||||||
|
taosMemoryFree(pSyncNode->pFsm);
|
||||||
|
}
|
||||||
|
|
||||||
taosMemoryFree(pSyncNode);
|
taosMemoryFree(pSyncNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue