From 9de7f646799f1add6052fad92bdf07cb3c78adc5 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 30 Mar 2026 17:20:24 +0300 Subject: [PATCH v2 1/3] 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; -- 2.47.3