fix mem problem
This commit is contained in:
parent
3ec700e0f7
commit
5063c175f4
|
@ -574,7 +574,7 @@ int32_t decodeValueFunc(void* value, int32_t vlen, int64_t* ttl, char** dest) {
|
|||
}
|
||||
p = taosDecodeFixedI64(p, &key.unixTimestamp);
|
||||
p = taosDecodeFixedI32(p, &key.len);
|
||||
if (vlen != sizeof(int64_t) + sizeof(int32_t) + key.len) {
|
||||
if (vlen != (sizeof(int64_t) + sizeof(int32_t) + key.len)) {
|
||||
if (dest != NULL) *dest = NULL;
|
||||
qError("vlen: %d, read len: %d", vlen, key.len);
|
||||
return -1;
|
||||
|
|
|
@ -419,7 +419,9 @@ int32_t deleteExpiredCheckPoint(SStreamFileState* pFileState, TSKEY mark) {
|
|||
if (code != 0 || len == 0 || val == NULL) {
|
||||
return TSDB_CODE_FAILED;
|
||||
}
|
||||
sscanf(val, "%" PRId64 "", &maxCheckPointId);
|
||||
memcpy(val, buf, len);
|
||||
buf[len] = 0;
|
||||
maxCheckPointId = atol((char*)buf);
|
||||
taosMemoryFree(val);
|
||||
}
|
||||
for (int64_t i = maxCheckPointId; i > 0; i--) {
|
||||
|
@ -431,16 +433,17 @@ int32_t deleteExpiredCheckPoint(SStreamFileState* pFileState, TSKEY mark) {
|
|||
if (code != 0) {
|
||||
return TSDB_CODE_FAILED;
|
||||
}
|
||||
memcpy(val, buf, len);
|
||||
buf[len] = 0;
|
||||
taosMemoryFree(val);
|
||||
|
||||
TSKEY ts;
|
||||
sscanf(val, "%" PRId64 "", &ts);
|
||||
ts = atol((char*)buf);
|
||||
if (ts < mark) {
|
||||
// statekey winkey.ts < mark
|
||||
forceRemoveCheckpoint(pFileState, i);
|
||||
taosMemoryFreeClear(val);
|
||||
break;
|
||||
} else {
|
||||
}
|
||||
taosMemoryFree(val);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue