Truncate strings in tarCreateHeader() with strlcpy(), not sprintf().
authorNoah Misch <noah@leadboat.com>
Mon, 22 Jun 2015 00:04:36 +0000 (20:04 -0400)
committerNoah Misch <noah@leadboat.com>
Mon, 22 Jun 2015 00:05:35 +0000 (20:05 -0400)
commit3508ee9c3c2c4e8c0f0f3d20327051f47105da57
tree6a4891925052e3444b5438bfeb2e15a8995a854b
parent4545222a6eb1173ae572aaa3f381356188bbc34c
Truncate strings in tarCreateHeader() with strlcpy(), not sprintf().

This supplements the GNU libc bug #6530 workarounds introduced in commit
54cd4f04576833abc394e131288bf3dd7dcf4806.  On affected systems, a
tar-format pg_basebackup failed when some filename beneath the data
directory was not valid character data in the postmaster/walsender
locale.  Back-patch to 9.1, where pg_basebackup was introduced.  Extant,
bug-prone conversion specifications receive only ASCII bytes or involve
low-importance messages.
src/backend/replication/basebackup.c