memory leak
This commit is contained in:
parent
0f40e1dbb9
commit
fe044051c8
|
@ -950,9 +950,11 @@ static int32_t vnodeProcessCreateTbReq(SVnode *pVnode, int64_t ver, void *pReq,
|
||||||
|
|
||||||
taosArrayPush(rsp.pArray, &cRsp);
|
taosArrayPush(rsp.pArray, &cRsp);
|
||||||
|
|
||||||
char* str = taosMemoryCalloc(1, TSDB_TABLE_FNAME_LEN);
|
if(tsEnableAuditCreateTable){
|
||||||
strcpy(str, pCreateReq->name);
|
char* str = taosMemoryCalloc(1, TSDB_TABLE_FNAME_LEN);
|
||||||
taosArrayPush(tbNames, str);
|
strcpy(str, pCreateReq->name);
|
||||||
|
taosArrayPush(tbNames, &str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vDebug("vgId:%d, add %d new created tables into query table list", TD_VID(pVnode), (int32_t)taosArrayGetSize(tbUids));
|
vDebug("vgId:%d, add %d new created tables into query table list", TD_VID(pVnode), (int32_t)taosArrayGetSize(tbUids));
|
||||||
|
@ -982,11 +984,12 @@ static int32_t vnodeProcessCreateTbReq(SVnode *pVnode, int64_t ver, void *pReq,
|
||||||
|
|
||||||
SStringBuilder sb = {0};
|
SStringBuilder sb = {0};
|
||||||
for(int32_t iReq = 0; iReq < req.nReqs; iReq++){
|
for(int32_t iReq = 0; iReq < req.nReqs; iReq++){
|
||||||
char* key = taosArrayGet(tbNames, iReq);
|
char** key = (char**)taosArrayGet(tbNames, iReq);
|
||||||
taosStringBuilderAppendStringLen(&sb, key, strlen(key));
|
taosStringBuilderAppendStringLen(&sb, *key, strlen(*key));
|
||||||
if(iReq < req.nReqs - 1){
|
if(iReq < req.nReqs - 1){
|
||||||
taosStringBuilderAppendChar(&sb, ',');
|
taosStringBuilderAppendChar(&sb, ',');
|
||||||
}
|
}
|
||||||
|
taosMemoryFreeClear(*key);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
@ -1002,13 +1005,13 @@ _exit:
|
||||||
pCreateReq = req.pReqs + iReq;
|
pCreateReq = req.pReqs + iReq;
|
||||||
taosMemoryFree(pCreateReq->sql);
|
taosMemoryFree(pCreateReq->sql);
|
||||||
taosMemoryFree(pCreateReq->comment);
|
taosMemoryFree(pCreateReq->comment);
|
||||||
taosArrayDestroy(pCreateReq->ctb.tagName);
|
taosArrayDestroy(pCreateReq->ctb.tagName);
|
||||||
}
|
}
|
||||||
taosArrayDestroyEx(rsp.pArray, tFreeSVCreateTbRsp);
|
taosArrayDestroyEx(rsp.pArray, tFreeSVCreateTbRsp);
|
||||||
taosArrayDestroy(tbUids);
|
taosArrayDestroy(tbUids);
|
||||||
tDecoderClear(&decoder);
|
tDecoderClear(&decoder);
|
||||||
tEncoderClear(&encoder);
|
tEncoderClear(&encoder);
|
||||||
taosArrayDestroyEx(tbNames, taosMemoryFree);
|
taosArrayDestroy(tbNames);
|
||||||
return rcode;
|
return rcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1184,9 +1187,11 @@ static int32_t vnodeProcessDropTbReq(SVnode *pVnode, int64_t ver, void *pReq, in
|
||||||
|
|
||||||
taosArrayPush(rsp.pArray, &dropTbRsp);
|
taosArrayPush(rsp.pArray, &dropTbRsp);
|
||||||
|
|
||||||
char* str = taosMemoryCalloc(1, TSDB_TABLE_FNAME_LEN);
|
if(tsEnableAuditCreateTable){
|
||||||
strcpy(str, pDropTbReq->name);
|
char* str = taosMemoryCalloc(1, TSDB_TABLE_FNAME_LEN);
|
||||||
taosArrayPush(tbNames, str);
|
strcpy(str, pDropTbReq->name);
|
||||||
|
taosArrayPush(tbNames, &str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tqUpdateTbUidList(pVnode->pTq, tbUids, false);
|
tqUpdateTbUidList(pVnode->pTq, tbUids, false);
|
||||||
|
@ -1200,17 +1205,18 @@ static int32_t vnodeProcessDropTbReq(SVnode *pVnode, int64_t ver, void *pReq, in
|
||||||
|
|
||||||
SStringBuilder sb = {0};
|
SStringBuilder sb = {0};
|
||||||
for(int32_t iReq = 0; iReq < req.nReqs; iReq++){
|
for(int32_t iReq = 0; iReq < req.nReqs; iReq++){
|
||||||
char* key = taosArrayGet(tbNames, iReq);
|
char** key = (char**)taosArrayGet(tbNames, iReq);
|
||||||
taosStringBuilderAppendStringLen(&sb, key, strlen(key));
|
taosStringBuilderAppendStringLen(&sb, *key, strlen(*key));
|
||||||
if(iReq < req.nReqs - 1){
|
if(iReq < req.nReqs - 1){
|
||||||
taosStringBuilderAppendChar(&sb, ',');
|
taosStringBuilderAppendChar(&sb, ',');
|
||||||
}
|
}
|
||||||
|
taosMemoryFreeClear(*key);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
char* keyJoined = taosStringBuilderGetResult(&sb, &len);
|
char* keyJoined = taosStringBuilderGetResult(&sb, &len);
|
||||||
|
|
||||||
auditRecord(NULL, clusterId, "createTable", name.dbname, "", keyJoined, len);
|
auditRecord(NULL, clusterId, "dropTable", name.dbname, "", keyJoined, len);
|
||||||
|
|
||||||
taosStringBuilderDestroy(&sb);
|
taosStringBuilderDestroy(&sb);
|
||||||
}
|
}
|
||||||
|
@ -1225,7 +1231,7 @@ _exit:
|
||||||
tEncodeSVDropTbBatchRsp(&encoder, &rsp);
|
tEncodeSVDropTbBatchRsp(&encoder, &rsp);
|
||||||
tEncoderClear(&encoder);
|
tEncoderClear(&encoder);
|
||||||
taosArrayDestroy(rsp.pArray);
|
taosArrayDestroy(rsp.pArray);
|
||||||
taosArrayDestroyEx(tbNames, taosMemoryFree);
|
taosArrayDestroy(tbNames);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue