0001-Adjust-pgstat_track_activity_query_size-to-be-of-siz.patch
application/octet-stream
Filename: 0001-Adjust-pgstat_track_activity_query_size-to-be-of-siz.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch 0001
Subject: Adjust pgstat_track_activity_query_size to be of size_t instead of int.
| File | + | − |
|---|---|---|
| src/backend/utils/activity/backend_status.c | 1 | 1 |
| src/include/utils/backend_status.h | 1 | 1 |
From 7517e6a673644b1ebfc1322438a2d82f92d15d8f Mon Sep 17 00:00:00 2001
From: Jakub Wartak <jakub.wartak@enterprisedb.com>
Date: Wed, 27 Sep 2023 08:26:22 +0200
Subject: [PATCH] Adjust pgstat_track_activity_query_size to be of size_t
instead of int.
This prevents integer overflow for MemoryContextAllocHuge() in pg_stat_get_activity()
SQL function when it is being called on system with high values of
max_connections and high pgstat_track_activity_query_size (e.g. 1MB).
postgres=# select * from pg_stat_get_activity(NULL);
ERROR: invalid memory alloc request size 18446744072590721024
---
src/backend/utils/activity/backend_status.c | 2 +-
src/include/utils/backend_status.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c
index 722c5acf38..a08a38c78c 100644
--- a/src/backend/utils/activity/backend_status.c
+++ b/src/backend/utils/activity/backend_status.c
@@ -43,7 +43,7 @@
* ----------
*/
bool pgstat_track_activities = false;
-int pgstat_track_activity_query_size = 1024;
+size_t pgstat_track_activity_query_size = 1024;
/* exposed so that backend_progress.c can access it */
diff --git a/src/include/utils/backend_status.h b/src/include/utils/backend_status.h
index d51c840daf..a487aeddd7 100644
--- a/src/include/utils/backend_status.h
+++ b/src/include/utils/backend_status.h
@@ -286,7 +286,7 @@ typedef struct LocalPgBackendStatus
* ----------
*/
extern PGDLLIMPORT bool pgstat_track_activities;
-extern PGDLLIMPORT int pgstat_track_activity_query_size;
+extern PGDLLIMPORT size_t pgstat_track_activity_query_size;
/* ----------
--
2.30.2