Fix sscanf limits in pg_dump
authorDaniel Gustafsson <[email protected]>
Tue, 19 Oct 2021 10:59:50 +0000 (12:59 +0200)
committerDaniel Gustafsson <[email protected]>
Tue, 19 Oct 2021 10:59:50 +0000 (12:59 +0200)
commitabdf81a20ba2ddc06a0ebdd58ee8747306fb2004
tree1fd64d0589f7932cfa2a10cde6e68c146afa872a
parentd36bdc4e9d3ecfc47d2db4fe4cc84eb5baa0cf9c
Fix sscanf limits in pg_dump

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

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 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: 9.6
src/bin/pg_dump/pg_backup_directory.c