pgsql: Repair various defects in dc212340058b4e7ecfc5a7a81ec50e7a207bf2

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Repair various defects in dc212340058b4e7ecfc5a7a81ec50e7a207bf2
Date: 2024-01-11 18:11:36
Message-ID: E1rNzWi-000wnM-Va@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Repair various defects in dc212340058b4e7ecfc5a7a81ec50e7a207bf288.

pg_combinebackup had various problems:

* strncpy was used in various places where strlcpy should be used
instead, to avoid any possibility of the result not being
\0-terminated.
* scan_for_existing_tablespaces() failed to close the directory,
and an error when opening the directory was reported with the
wrong pathname.
* write_reconstructed_file() contained some redundant and therefore
dead code.
* flush_manifest() didn't check the result of pg_checksum_update()
as we do in other places, and misused a local pathname variable
that shouldn't exist at all.

In pg_basebackup, the wrong variable name was used in one place,
due to a copy and paste that was not properly adjusted.

In blkreftable.c, the loop incorrectly doubled chunkno instead of
max_chunks. Fix that. Also remove a nearby assertion per repeated
off-list complaints from Tom Lane.

Per Coverity and subsequent code inspection by me and by Tom Lane.

Discussion: http://postgr.es/m/CA+Tgmobvqqj-DW9F7uUzT-cQqs6wcVb-Xhs=w=hzJnXSE-kRGw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3d5c332a3d6002c5c95cb238e2164ae054c8e805

Modified Files
--------------
src/bin/pg_basebackup/pg_basebackup.c | 2 +-
src/bin/pg_combinebackup/pg_combinebackup.c | 15 +++++++++------
src/bin/pg_combinebackup/reconstruct.c | 5 ++---
src/bin/pg_combinebackup/write_manifest.c | 10 +++++-----
src/common/blkreftable.c | 3 +--
5 files changed, 18 insertions(+), 17 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2024-01-11 18:27:58 pgsql: Reindent after commit d9ef650fca7bc574586f4171cd929cfd5240326e.
Previous Message Robert Haas 2024-01-11 17:56:36 pgsql: Add new pg_walsummary tool.