pgsql: Repair various defects in dc212340058b4e7ecfc5a7a81ec50e7a207bf2

Поиск
Список
Период
Сортировка
От Robert Haas
Тема pgsql: Repair various defects in dc212340058b4e7ecfc5a7a81ec50e7a207bf2
Дата
Msg-id E1rNzWi-000wnM-Va@gemulon.postgresql.org
обсуждение исходный текст
Список 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(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: pgsql: Add new pg_walsummary tool.
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Reindent after commit d9ef650fca7bc574586f4171cd929cfd5240326e.