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 E1mcn7X-0000Dw-6L@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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1d7641d51a51aa00dff685022fab6c03be8f8af8

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: Michael Paquier
Date:
Subject: pgsql: Block ALTER INDEX/TABLE index_name ALTER COLUMN colname SET (opt
Next
From: Daniel Gustafsson
Date:
Subject: pgsql: Fix sscanf limits in pg_basebackup and pg_dump