diff options
| author | liuxueli <[email protected]> | 2022-05-12 17:38:13 +0800 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2022-05-12 17:38:13 +0800 |
| commit | b76250099c38ffb16c45dfe324ee50d8c3874226 (patch) | |
| tree | 2c428b38f444ba417b92bef20c6aa529e85fbd91 /src | |
| parent | 8b70dcb7a2c00c36dfc5eb88b8660e1b186212e9 (diff) | |
OMPUB-481, TSG-10617: 修复FieldStat2输出prometheous格式,剩余空间较小,snprintf导致内存越界的问题v2.10.9
Diffstat (limited to 'src')
| -rw-r--r-- | src/fs2prometheus.cpp | 7 |
1 files 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); |
