fix: memcpy empty value issue
This commit is contained in:
parent
bfc483aa30
commit
459d2932b1
|
@ -689,8 +689,10 @@ int32_t tRowMergerInit2(SRowMerger *pMerger, STSchema *pResTSchema, TSDBROW *pRo
|
||||||
code = tRealloc(&pColVal->value.pData, pColVal->value.nData);
|
code = tRealloc(&pColVal->value.pData, pColVal->value.nData);
|
||||||
if (code) goto _exit;
|
if (code) goto _exit;
|
||||||
|
|
||||||
|
if (pColVal->value.nData) {
|
||||||
memcpy(pColVal->value.pData, pVal, pColVal->value.nData);
|
memcpy(pColVal->value.pData, pVal, pColVal->value.nData);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (taosArrayPush(pMerger->pArray, pColVal) == NULL) {
|
if (taosArrayPush(pMerger->pArray, pColVal) == NULL) {
|
||||||
code = TSDB_CODE_OUT_OF_MEMORY;
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
@ -736,7 +738,9 @@ int32_t tRowMergerAdd(SRowMerger *pMerger, TSDBROW *pRow, STSchema *pTSchema) {
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
|
|
||||||
tColVal->value.nData = pColVal->value.nData;
|
tColVal->value.nData = pColVal->value.nData;
|
||||||
|
if (pColVal->value.nData) {
|
||||||
memcpy(tColVal->value.pData, pColVal->value.pData, pColVal->value.nData);
|
memcpy(tColVal->value.pData, pColVal->value.pData, pColVal->value.nData);
|
||||||
|
}
|
||||||
tColVal->flag = 0;
|
tColVal->flag = 0;
|
||||||
} else {
|
} else {
|
||||||
taosArraySet(pMerger->pArray, iCol, pColVal);
|
taosArraySet(pMerger->pArray, iCol, pColVal);
|
||||||
|
@ -750,7 +754,9 @@ int32_t tRowMergerAdd(SRowMerger *pMerger, TSDBROW *pRow, STSchema *pTSchema) {
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
|
|
||||||
tColVal->value.nData = pColVal->value.nData;
|
tColVal->value.nData = pColVal->value.nData;
|
||||||
|
if (pColVal->value.nData) {
|
||||||
memcpy(tColVal->value.pData, pColVal->value.pData, pColVal->value.nData);
|
memcpy(tColVal->value.pData, pColVal->value.pData, pColVal->value.nData);
|
||||||
|
}
|
||||||
tColVal->flag = 0;
|
tColVal->flag = 0;
|
||||||
} else {
|
} else {
|
||||||
taosArraySet(pMerger->pArray, iCol, pColVal);
|
taosArraySet(pMerger->pArray, iCol, pColVal);
|
||||||
|
@ -801,8 +807,10 @@ int32_t tRowMergerInit(SRowMerger *pMerger, TSDBROW *pRow, STSchema *pTSchema) {
|
||||||
code = tRealloc(&pColVal->value.pData, pColVal->value.nData);
|
code = tRealloc(&pColVal->value.pData, pColVal->value.nData);
|
||||||
if (code) goto _exit;
|
if (code) goto _exit;
|
||||||
|
|
||||||
|
if (pColVal->value.nData) {
|
||||||
memcpy(pColVal->value.pData, pVal, pColVal->value.nData);
|
memcpy(pColVal->value.pData, pVal, pColVal->value.nData);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (taosArrayPush(pMerger->pArray, pColVal) == NULL) {
|
if (taosArrayPush(pMerger->pArray, pColVal) == NULL) {
|
||||||
code = TSDB_CODE_OUT_OF_MEMORY;
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
@ -844,7 +852,9 @@ int32_t tRowMerge(SRowMerger *pMerger, TSDBROW *pRow) {
|
||||||
if (code) goto _exit;
|
if (code) goto _exit;
|
||||||
|
|
||||||
pTColVal->value.nData = pColVal->value.nData;
|
pTColVal->value.nData = pColVal->value.nData;
|
||||||
|
if (pTColVal->value.nData) {
|
||||||
memcpy(pTColVal->value.pData, pColVal->value.pData, pTColVal->value.nData);
|
memcpy(pTColVal->value.pData, pColVal->value.pData, pTColVal->value.nData);
|
||||||
|
}
|
||||||
pTColVal->flag = 0;
|
pTColVal->flag = 0;
|
||||||
} else {
|
} else {
|
||||||
tFree(pTColVal->value.pData);
|
tFree(pTColVal->value.pData);
|
||||||
|
@ -864,7 +874,9 @@ int32_t tRowMerge(SRowMerger *pMerger, TSDBROW *pRow) {
|
||||||
if (code) goto _exit;
|
if (code) goto _exit;
|
||||||
|
|
||||||
tColVal->value.nData = pColVal->value.nData;
|
tColVal->value.nData = pColVal->value.nData;
|
||||||
|
if (tColVal->value.nData) {
|
||||||
memcpy(tColVal->value.pData, pColVal->value.pData, tColVal->value.nData);
|
memcpy(tColVal->value.pData, pColVal->value.pData, tColVal->value.nData);
|
||||||
|
}
|
||||||
tColVal->flag = 0;
|
tColVal->flag = 0;
|
||||||
} else {
|
} else {
|
||||||
tFree(tColVal->value.pData);
|
tFree(tColVal->value.pData);
|
||||||
|
|
Loading…
Reference in New Issue