fix(util): fix the invalid read.
This commit is contained in:
parent
5096e25032
commit
9dcbb0436a
|
@ -1275,18 +1275,22 @@ int32_t cfgLoadFromApollUrl(SConfig *pConfig, const char *url) {
|
||||||
char *itemName = NULL, *itemValueString = NULL;
|
char *itemName = NULL, *itemValueString = NULL;
|
||||||
TAOS_CHECK_GOTO(tjsonGetObjectName(item, &itemName), NULL, _err_json);
|
TAOS_CHECK_GOTO(tjsonGetObjectName(item, &itemName), NULL, _err_json);
|
||||||
TAOS_CHECK_GOTO(tjsonGetObjectValueString(item, &itemValueString), NULL, _err_json);
|
TAOS_CHECK_GOTO(tjsonGetObjectValueString(item, &itemValueString), NULL, _err_json);
|
||||||
|
|
||||||
if (itemValueString != NULL && itemName != NULL) {
|
if (itemValueString != NULL && itemName != NULL) {
|
||||||
size_t itemNameLen = strlen(itemName);
|
size_t itemNameLen = strlen(itemName);
|
||||||
size_t itemValueStringLen = strlen(itemValueString);
|
size_t itemValueStringLen = strlen(itemValueString);
|
||||||
cfgLineBuf = taosMemoryRealloc(cfgLineBuf, itemNameLen + itemValueStringLen + 3);
|
void* px = taosMemoryRealloc(cfgLineBuf, itemNameLen + itemValueStringLen + 3);
|
||||||
if (NULL == cfgLineBuf) {
|
if (NULL == px) {
|
||||||
code = TSDB_CODE_OUT_OF_MEMORY;
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
goto _err_json;
|
goto _err_json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cfgLineBuf = px;
|
||||||
|
|
||||||
memcpy(cfgLineBuf, itemName, itemNameLen);
|
memcpy(cfgLineBuf, itemName, itemNameLen);
|
||||||
cfgLineBuf[itemNameLen] = ' ';
|
cfgLineBuf[itemNameLen] = ' ';
|
||||||
memcpy(&cfgLineBuf[itemNameLen + 1], itemValueString, itemValueStringLen);
|
memcpy(&cfgLineBuf[itemNameLen + 1], itemValueString, itemValueStringLen);
|
||||||
|
cfgLineBuf[itemNameLen + itemValueStringLen + 2] = 0;
|
||||||
|
|
||||||
paGetToken(cfgLineBuf, &name, &olen);
|
paGetToken(cfgLineBuf, &name, &olen);
|
||||||
if (olen == 0) continue;
|
if (olen == 0) continue;
|
||||||
|
|
Loading…
Reference in New Issue