diff options
| author | fumingwei <[email protected]> | 2023-08-18 20:54:56 +0800 |
|---|---|---|
| committer | fumingwei <[email protected]> | 2023-08-18 20:54:56 +0800 |
| commit | 061640cee505dd2b5fd29926a4f0ef13e206ec5d (patch) | |
| tree | f9556d310bb3e532d60e047117a66972c9799490 | |
| parent | 8fdffee5d77cede474f1481d206e114bfee96236 (diff) | |
bugfix:修复prometheus输出报realloc invalid old size错误的bugv3.0.11
| -rw-r--r-- | src/prometheus_output.cpp | 9 |
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) |
