]> granicus.if.org Git - postgresql/commit
Fix some dubious WAL-parsing code.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Apr 2018 17:46:13 +0000 (13:46 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Apr 2018 17:46:21 +0000 (13:46 -0400)
commitb01f32c313f00846b6f06cf871d0d9ce7c3ad5e5
treea43e710178ff76fcacd71c65885be1e09475286a
parent05e85d35afb0a58080d6a1a0b582bf8a6471c7f1
Fix some dubious WAL-parsing code.

Coverity complained about possible buffer overrun in two places added by
commit 1eb6d6527, and AFAICS it's reasonable to worry: even granting that
the WAL originator properly truncated the commit GID to GIDSIZE, we should
not really bet our lives on that having the same value as it does in the
current build.  Hence, use strlcpy() not strcpy(), and adjust the pointer
advancement logic to be sure we skip over the whole source string even if
strlcpy() truncated it.
src/backend/access/rmgrdesc/xactdesc.c