From b76250099c38ffb16c45dfe324ee50d8c3874226 Mon Sep 17 00:00:00 2001 From: liuxueli Date: Thu, 12 May 2022 17:38:13 +0800 Subject: OMPUB-481, TSG-10617: 修复FieldStat2输出prometheous格式,剩余空间较小,snprintf导致内存越界的问题 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fs2prometheus.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/fs2prometheus.cpp b/src/fs2prometheus.cpp index 8550040..5585b73 100644 --- a/src/fs2prometheus.cpp +++ b/src/fs2prometheus.cpp @@ -7,6 +7,7 @@ #include "field_stat_internal.h" #define STEP_SIZE 1024 +#define LEFT_MIN_BUFF_LEN 256 #define MAX_URL_PATH_LEN 128 #define FS2_HANDLE_STEP_NUM 16 @@ -207,7 +208,7 @@ static void FS_library_promethues_output(struct mg_connection *c, int ev, void * continue; } - if(payload_len-used_len<=100) + if(payload_len-used_len<=LEFT_MIN_BUFF_LEN) { payload_len+=STEP_SIZE; payload=(char *)realloc(payload, payload_len); @@ -251,7 +252,7 @@ static void FS_library_promethues_output(struct mg_connection *c, int ev, void * value ); - if(payload_len-used_len<=100) + if(payload_len-used_len<=LEFT_MIN_BUFF_LEN) { payload_len+=STEP_SIZE; payload=(char *)realloc(payload, payload_len); @@ -299,7 +300,7 @@ static void FS_library_promethues_output(struct mg_connection *c, int ev, void * sum ); - if(payload_len-used_len<=100) + if(payload_len-used_len<=LEFT_MIN_BUFF_LEN) { payload_len+=STEP_SIZE; payload=(char *)realloc(payload, payload_len); -- cgit v1.2.3