From 93ee70a8e8143dba97f4242549d3ea35457d7b3e Mon Sep 17 00:00:00 2001 From: Jacob Champion Date: Fri, 4 Sep 2026 14:30:45 -0700 Subject: [PATCH v2 2/3] pg_checksums: Disallow --filenode 0 Matching a relfile with InvalidRelFileNumber doesn't make too much sense. In anticipation of modifying pg_checksums to only validate known relfiles, forbid that. Discussion: https://postgr.es/m/CAOYmi%2B%3DE0zz%2B_MgQXAoOyn5C0vW53740izzRiTv6excqtCJfRg%40mail.gmail.com --- src/bin/pg_checksums/pg_checksums.c | 2 +- src/bin/pg_checksums/t/001_basic.pl | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c index 3b58c6ca608..5bb7a7bd200 100644 --- a/src/bin/pg_checksums/pg_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -488,7 +488,7 @@ main(int argc, char *argv[]) mode = PG_MODE_ENABLE; break; case 'f': - if (!option_parse_int(optarg, "-f/--filenode", 0, + if (!option_parse_int(optarg, "-f/--filenode", 1, INT_MAX, NULL)) exit(1); diff --git a/src/bin/pg_checksums/t/001_basic.pl b/src/bin/pg_checksums/t/001_basic.pl index fc5d431c2b0..996670d81c7 100644 --- a/src/bin/pg_checksums/t/001_basic.pl +++ b/src/bin/pg_checksums/t/001_basic.pl @@ -10,4 +10,9 @@ program_help_ok('pg_checksums'); program_version_ok('pg_checksums'); program_options_handling_ok('pg_checksums'); +command_fails_like( + [ 'pg_checksums', '--filenode' => '0' ], + qr@\Qpg_checksums: error: -f/--filenode must be in range 1..2147483647\E@, + 'pg_checksums: --filenode must be in range'); + done_testing(); -- 2.34.1