fix(util): fix the invalid read.

This commit is contained in:
Haojun Liao 2024-07-28 12:57:54 +08:00
parent 5096e25032
commit 9dcbb0436a
1 changed files with 6 additions and 2 deletions

View File

@ -1275,18 +1275,22 @@ int32_t cfgLoadFromApollUrl(SConfig *pConfig, const char *url) {
char *itemName = NULL, *itemValueString = NULL;
TAOS_CHECK_GOTO(tjsonGetObjectName(item, &itemName), NULL, _err_json);
TAOS_CHECK_GOTO(tjsonGetObjectValueString(item, &itemValueString), NULL, _err_json);
if (itemValueString != NULL && itemName != NULL) {
size_t itemNameLen = strlen(itemName);
size_t itemValueStringLen = strlen(itemValueString);
cfgLineBuf = taosMemoryRealloc(cfgLineBuf, itemNameLen + itemValueStringLen + 3);
if (NULL == cfgLineBuf) {
void* px = taosMemoryRealloc(cfgLineBuf, itemNameLen + itemValueStringLen + 3);
if (NULL == px) {
code = TSDB_CODE_OUT_OF_MEMORY;
goto _err_json;
}
cfgLineBuf = px;
memcpy(cfgLineBuf, itemName, itemNameLen);
cfgLineBuf[itemNameLen] = ' ';
memcpy(&cfgLineBuf[itemNameLen + 1], itemValueString, itemValueStringLen);
cfgLineBuf[itemNameLen + itemValueStringLen + 2] = 0;
paGetToken(cfgLineBuf, &name, &olen);
if (olen == 0) continue;