0001-Assert-name-short_desc-to-prevent-SHOWALL-segfault.patch
text/x-patch
Filename: 0001-Assert-name-short_desc-to-prevent-SHOWALL-segfault.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0001
Subject: Assert name/short_desc to prevent SHOWALL segfault
| File | + | − |
|---|---|---|
| src/backend/utils/misc/guc.c | 4 | 0 |
From ad8a61125a0fe33853d459f12e521dff771130d4 Mon Sep 17 00:00:00 2001
From: Steve Chavez <steve@supabase.io>
Date: Thu, 19 May 2022 08:59:46 -0500
Subject: [PATCH] Assert name/short_desc to prevent SHOWALL segfault
Every DefineCustomXXXVariable function can have a NULL short_desc,
and it's not apparent that this will lead to a segfault when SHOW ALL is
used. This happens because ShowAllGUCConfig expects a non-NULL
short_desc.
Assertions are added to init_custom_variable to ensure name and
short_desc are present at minimum.
---
src/backend/utils/misc/guc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 8e9b71375c..635d39b7d4 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -9239,6 +9239,10 @@ init_custom_variable(const char *name,
{
struct config_generic *gen;
+ /* Ensure at least the name and short description are present */
+ Assert(name != NULL);
+ Assert(short_desc != NULL);
+
/*
* Only allow custom PGC_POSTMASTER variables to be created during shared
* library preload; any later than that, we can't ensure that the value
--
2.32.0