From 9f92321ce09309de1b25b04567195045235d5134 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Sun, 15 Mar 2026 11:22:34 +0000 Subject: [PATCH 4/4] gen_guc_tables: validate GUC name format Verify that each entry's name consists of letters, digits, and underscores, starting with a letter. This catches accidental spaces or special characters that would produce invalid C code. --- src/backend/utils/misc/gen_guc_tables.pl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/utils/misc/gen_guc_tables.pl b/src/backend/utils/misc/gen_guc_tables.pl index 9b6e3ed6622..2e8a3391046 100644 --- a/src/backend/utils/misc/gen_guc_tables.pl +++ b/src/backend/utils/misc/gen_guc_tables.pl @@ -83,6 +83,13 @@ sub validate_guc_entry } } + unless ($entry->{name} =~ /^[a-zA-Z][a-zA-Z0-9_]*$/) + { + die sprintf( + qq{%s:%d: error: entry name "%s" is not a valid GUC name (must start with a letter, contain only letters, digits, and underscores)\n}, + $input_fname, $entry->{line_number}, $entry->{name}); + } + unless (exists $type_specific_fields{ $entry->{type} }) { die sprintf( -- 2.43.0