summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfumingwei <[email protected]>2023-08-18 20:54:56 +0800
committerfumingwei <[email protected]>2023-08-18 20:54:56 +0800
commit061640cee505dd2b5fd29926a4f0ef13e206ec5d (patch)
treef9556d310bb3e532d60e047117a66972c9799490
parent8fdffee5d77cede474f1481d206e114bfee96236 (diff)
bugfix:修复prometheus输出报realloc invalid old size错误的bugv3.0.11
-rw-r--r--src/prometheus_output.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/prometheus_output.cpp b/src/prometheus_output.cpp
index 7a25822..1e556d9 100644
--- a/src/prometheus_output.cpp
+++ b/src/prometheus_output.cpp
@@ -364,13 +364,17 @@ static void prometheus_output_instance_metric(struct prometheus_endpoint_instanc
for(i = 0; i < prometheus_output->fs_instance_cnt; i++)
{
instance = prometheus_output->fs_instance[i];
- payload_offset = prometheus_get_instance_metric_playload(instance, &payload, &payload_size, payload_offset);
+ int ret = prometheus_get_instance_metric_playload(instance, &payload, &payload_size, payload_offset);
+ if(ret >= 0)
+ {
+ payload_offset = ret;
+ }
}
}
else
{
instance = prometheus_output->fs_instance[fs_instance_idx];
- payload_offset = prometheus_get_instance_metric_playload(instance, &payload, &payload_size, payload_offset);
+ prometheus_get_instance_metric_playload(instance, &payload, &payload_size, payload_offset);
}
if(payload != NULL)
@@ -384,7 +388,6 @@ static void prometheus_output_instance_metric(struct prometheus_endpoint_instanc
free(payload);
payload=NULL;
}
-
}
void prometheus_endpoint_instance_output(struct http_request_s* request)