From: Stephan Bosch Date: Wed, 22 Apr 2020 10:54:44 +0000 (+0200) Subject: stats: stats-service-openmetrics - Check label for group_by metric at correct location. X-Git-Tag: 2.3.11.2~232 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4bb1fe98ac637dafff6e23cd62b6de1f08b974d4;p=thirdparty%2Fdovecot%2Fcore.git stats: stats-service-openmetrics - Check label for group_by metric at correct location. --- diff --git a/src/stats/stats-service-openmetrics.c b/src/stats/stats-service-openmetrics.c index 0abc8ec7bd..6657f7eaaa 100644 --- a/src/stats/stats-service-openmetrics.c +++ b/src/stats/stats-service-openmetrics.c @@ -366,21 +366,10 @@ openmetrics_export_sub_metric_get(struct openmetrics_request_sub_metric *reqsm) { struct metric *const *sub_metric; - /* Get the first valid sub-metric */ - if (reqsm->sub_index >= array_count(&reqsm->metric->sub_metrics)) return NULL; sub_metric = array_idx(&reqsm->metric->sub_metrics, reqsm->sub_index); - while (((*sub_metric)->group_by == NULL || - !openmetrics_check_name((*sub_metric)->group_by->field)) && - ++reqsm->sub_index < array_count(&reqsm->metric->sub_metrics)) { - sub_metric = array_idx(&reqsm->metric->sub_metrics, - reqsm->sub_index); - } - if (reqsm->sub_index == array_count(&reqsm->metric->sub_metrics)) - return NULL; - return *sub_metric; } @@ -403,6 +392,7 @@ openmetrics_export_sub_metric_down(struct openmetrics_request *req) /* Descend further into sub-metric tree */ if (reqsm->metric->group_by == NULL || + !openmetrics_check_name(reqsm->metric->group_by->field) || !array_is_created(&reqsm->metric->sub_metrics) || array_count(&reqsm->metric->sub_metrics) == 0) return NULL;