check memory allocation failure
This commit is contained in:
parent
244cfe217c
commit
5d398eb8a4
|
@ -164,9 +164,6 @@ int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int numOfMeters = 0;
|
|
||||||
SSubscriptionProgress* progress = NULL;
|
|
||||||
|
|
||||||
SSqlCmd* pCmd = &pSub->pSql->cmd;
|
SSqlCmd* pCmd = &pSub->pSql->cmd;
|
||||||
if (pCmd->command != TSDB_SQL_SELECT) {
|
if (pCmd->command != TSDB_SQL_SELECT) {
|
||||||
tscError("only 'select' statement is allowed in subscription: %s", pSub->topic);
|
tscError("only 'select' statement is allowed in subscription: %s", pSub->topic);
|
||||||
|
@ -174,19 +171,28 @@ int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
|
||||||
}
|
}
|
||||||
|
|
||||||
SMeterMetaInfo *pMeterMetaInfo = tscGetMeterMetaInfo(pCmd, 0);
|
SMeterMetaInfo *pMeterMetaInfo = tscGetMeterMetaInfo(pCmd, 0);
|
||||||
if (UTIL_METER_IS_NOMRAL_METER(pMeterMetaInfo)) {
|
int numOfMeters = 0;
|
||||||
numOfMeters = 1;
|
if (!UTIL_METER_IS_NOMRAL_METER(pMeterMetaInfo)) {
|
||||||
progress = calloc(1, sizeof(SSubscriptionProgress));
|
|
||||||
int64_t uid = pMeterMetaInfo->pMeterMeta->uid;
|
|
||||||
progress[0].uid = uid;
|
|
||||||
progress[0].key = tscGetSubscriptionProgress(pSub, uid);
|
|
||||||
} else {
|
|
||||||
SMetricMeta* pMetricMeta = pMeterMetaInfo->pMetricMeta;
|
SMetricMeta* pMetricMeta = pMeterMetaInfo->pMetricMeta;
|
||||||
for (int32_t i = 0; i < pMetricMeta->numOfVnodes; i++) {
|
for (int32_t i = 0; i < pMetricMeta->numOfVnodes; i++) {
|
||||||
SVnodeSidList *pVnodeSidList = tscGetVnodeSidList(pMetricMeta, pMeterMetaInfo->vnodeIndex);
|
SVnodeSidList *pVnodeSidList = tscGetVnodeSidList(pMetricMeta, pMeterMetaInfo->vnodeIndex);
|
||||||
numOfMeters += pVnodeSidList->numOfSids;
|
numOfMeters += pVnodeSidList->numOfSids;
|
||||||
}
|
}
|
||||||
progress = calloc(numOfMeters, sizeof(SSubscriptionProgress));
|
}
|
||||||
|
|
||||||
|
SSubscriptionProgress* progress = (SSubscriptionProgress*)calloc(numOfMeters, sizeof(SSubscriptionProgress));
|
||||||
|
if (progress == NULL) {
|
||||||
|
tscError("failed to allocate memory for progress: %s", pSub->topic);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (UTIL_METER_IS_NOMRAL_METER(pMeterMetaInfo)) {
|
||||||
|
numOfMeters = 1;
|
||||||
|
int64_t uid = pMeterMetaInfo->pMeterMeta->uid;
|
||||||
|
progress[0].uid = uid;
|
||||||
|
progress[0].key = tscGetSubscriptionProgress(pSub, uid);
|
||||||
|
} else {
|
||||||
|
SMetricMeta* pMetricMeta = pMeterMetaInfo->pMetricMeta;
|
||||||
numOfMeters = 0;
|
numOfMeters = 0;
|
||||||
for (int32_t i = 0; i < pMetricMeta->numOfVnodes; i++) {
|
for (int32_t i = 0; i < pMetricMeta->numOfVnodes; i++) {
|
||||||
SVnodeSidList *pVnodeSidList = tscGetVnodeSidList(pMetricMeta, pMeterMetaInfo->vnodeIndex);
|
SVnodeSidList *pVnodeSidList = tscGetVnodeSidList(pMetricMeta, pMeterMetaInfo->vnodeIndex);
|
||||||
|
|
Loading…
Reference in New Issue