From 7f84b8d08ee5fb2d5556760d0646a8760ca4b58a Mon Sep 17 00:00:00 2001 From: Hamid Akhtar Date: Wed, 20 Jan 2021 20:14:54 +0500 Subject: [PATCH] PG-169: Fixing message buffer overrun and incorrect index access to fix the server crash. Crash was occurring during server regression. Reviewed By: Ibrar Ahmad. --- pg_stat_monitor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pg_stat_monitor.c b/pg_stat_monitor.c index 69a4db3..c41c7b6 100644 --- a/pg_stat_monitor.c +++ b/pg_stat_monitor.c @@ -949,7 +949,7 @@ static void pgss_store(uint64 queryId, } } if (total_time > PGSM_RESPOSE_TIME_LOWER_BOUND + (PGSM_RESPOSE_TIME_STEP * MAX_RESPONSE_BUCKET)) - e->counters.resp_calls[MAX_RESPONSE_BUCKET]++; + e->counters.resp_calls[MAX_RESPONSE_BUCKET - 1]++; } for (i = 0; i < application_name_len; i++) @@ -986,7 +986,7 @@ static void pgss_store(uint64 queryId, for(i = 0; i < sqlcode_len; i++) e->counters.error.sqlcode[i] = sqlcode[i]; - for(i = 0; i < message_len; i++) + for(i = 0; i < message_len && i < ERROR_MESSAGE_LEN; i++) e->counters.error.message[i] = message[i]; e->counters.calls[kind].rows += rows;