pgsql: Fix sscanf limits in pg_basebackup and pg_dump - Mailing list pgsql-committers

From Daniel Gustafsson
Subject pgsql: Fix sscanf limits in pg_basebackup and pg_dump
Date
Msg-id E1mcn9w-0000GI-Rc@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix sscanf limits in pg_basebackup and pg_dump

Make sure that the string parsing is limited by the size of the
destination buffer.

In pg_basebackup the available values sent from the server
is limited to two characters so there was no risk of overflow.

In pg_dump the buffer is bounded by MAXPGPATH, and thus the limit
must be inserted via preprocessor expansion and the buffer increased
by one to account for the terminator. There is no risk of overflow
here, since in this case, the buffer scanned is smaller than the
destination buffer.

Backpatch the pg_basebackup fix to 11 where it was introduced, and
the pg_dump fix all the way down to 9.6.

Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/B14D3D7B-F98C-4E20-9459-C122C67647FB@yesql.se
Backpatch-through: 11 and 9.6

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/d3a4c1eb3d2188e8df58b4f2837cd17acc8629e1

Modified Files
--------------
src/bin/pg_basebackup/streamutil.c    | 2 +-
src/bin/pg_dump/pg_backup_directory.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: Fix sscanf limits in pg_basebackup and pg_dump
Next
From: Daniel Gustafsson
Date:
Subject: pgsql: Fix sscanf limits in pg_basebackup and pg_dump