Fix crash.
This commit is contained in:
parent
72f228fa97
commit
cb50baddde
|
@ -109,11 +109,41 @@ int32_t cfgUpdateFromArray(SConfig *pCfg, SArray *pArgs) {
|
||||||
(void)taosThreadMutexUnlock(&pCfg->lock);
|
(void)taosThreadMutexUnlock(&pCfg->lock);
|
||||||
TAOS_RETURN(TSDB_CODE_CFG_NOT_FOUND);
|
TAOS_RETURN(TSDB_CODE_CFG_NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
switch (pItemNew->dtype) {
|
||||||
|
case CFG_DTYPE_BOOL:
|
||||||
|
pItemOld->bval = pItemNew->bval;
|
||||||
|
break;
|
||||||
|
case CFG_DTYPE_INT32:
|
||||||
|
pItemOld->i32 = pItemNew->i32;
|
||||||
|
break;
|
||||||
|
case CFG_DTYPE_INT64:
|
||||||
|
pItemOld->i64 = pItemNew->i64;
|
||||||
|
break;
|
||||||
|
case CFG_DTYPE_FLOAT:
|
||||||
|
case CFG_DTYPE_DOUBLE:
|
||||||
|
pItemOld->fval = pItemNew->fval;
|
||||||
|
break;
|
||||||
|
case CFG_DTYPE_STRING:
|
||||||
|
case CFG_DTYPE_DIR:
|
||||||
|
taosMemoryFree(pItemOld->str);
|
||||||
|
pItemOld->str = taosStrdup(pItemNew->str);
|
||||||
|
if (pItemOld->str == NULL) {
|
||||||
|
(void)taosThreadMutexUnlock(&pCfg->lock);
|
||||||
|
TAOS_RETURN(terrno);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CFG_DTYPE_LOCALE:
|
||||||
|
case CFG_DTYPE_CHARSET:
|
||||||
|
case CFG_DTYPE_TIMEZONE:
|
||||||
code = cfgSetItemVal(pItemOld, pItemNew->name, pItemNew->str, pItemNew->stype);
|
code = cfgSetItemVal(pItemOld, pItemNew->name, pItemNew->str, pItemNew->stype);
|
||||||
if (code != 0) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
(void)taosThreadMutexUnlock(&pCfg->lock);
|
(void)taosThreadMutexUnlock(&pCfg->lock);
|
||||||
TAOS_RETURN(code);
|
TAOS_RETURN(code);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
(void)taosThreadMutexUnlock(&pCfg->lock);
|
(void)taosThreadMutexUnlock(&pCfg->lock);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue