X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fwrite_prometheus.c;h=526499849c2f27a5040f8d8b7febc00a107c9494;hb=5ff74d56067ac64db801df5184eb8b97f4b2b645;hp=6b77712e8ed0ab37b5a09dcb0728bb75f96d0ce6;hpb=51d29979b01ae0316597898f0e25d4bab7fd7d81;p=collectd.git diff --git a/src/write_prometheus.c b/src/write_prometheus.c index 6b77712e..52649984 100644 --- a/src/write_prometheus.c +++ b/src/write_prometheus.c @@ -546,9 +546,14 @@ metric_family_delete_metric(Io__Prometheus__Client__MetricFamily *fam, ((fam->n_metric - 1) - i) * sizeof(fam->metric[i])); fam->n_metric--; + if (fam->n_metric == 0) { + sfree(fam->metric); + return 0; + } + Io__Prometheus__Client__Metric **tmp = realloc(fam->metric, fam->n_metric * sizeof(*fam->metric)); - if ((tmp != NULL) || (fam->n_metric == 0)) + if (tmp != NULL) fam->metric = tmp; return 0; @@ -594,8 +599,8 @@ static int metric_family_update(Io__Prometheus__Client__MetricFamily *fam, if (m == NULL) return -1; - return metric_update(m, vl->values[ds_index], ds->ds[ds_index].type, vl->time, - vl->interval); + return metric_update(m, vl->values[ds_index], ds->ds[ds_index].type, + vl->time, vl->interval); } /* metric_family_destroy frees the memory used by a metric family. */ @@ -870,5 +875,3 @@ void module_register() { /* user data = */ NULL); plugin_register_shutdown("write_prometheus", prom_shutdown); } - -/* vim: set sw=2 sts=2 et fdm=marker : */