From c5f7820e5780f5be9cb406834108576b42e568f8 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 30 Mar 2026 20:34:48 +0300 Subject: [PATCH] Fix latent bug in get_stats_option_name() The function is supposed to look at the passed in 'arg' argument, but peeks at the 'optarg' global variable that's part of getopt() instead. It happened to work anyway, because all callers passed 'optarg' as the argument. Reviewed-by: Peter Eisentraut Discussion: https://www.postgresql.org/message-id/d1da5f0e-0d68-47c9-a882-eb22f462752f@iki.fi --- src/backend/tcop/postgres.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index b3563113219..04f4ae116a5 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -3796,9 +3796,9 @@ get_stats_option_name(const char *arg) switch (arg[0]) { case 'p': - if (optarg[1] == 'a') /* "parser" */ + if (arg[1] == 'a') /* "parser" */ return "log_parser_stats"; - else if (optarg[1] == 'l') /* "planner" */ + else if (arg[1] == 'l') /* "planner" */ return "log_planner_stats"; break;