Fix base backup with database OIDs larger than INT32_MAX

Peter Eisentraut <peter@eisentraut.org>

Commit: bf65f3c8871bcc95a3b4d5bcb5409d3df05c8273
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2020-01-13T12:41:09Z
Releases: 12.2
Fix base backup with database OIDs larger than INT32_MAX

The use of pg_atoi() for parsing a string into an Oid fails for values
larger than INT32_MAX, since OIDs are unsigned.  Instead, use
atooid().  While this has less error checking, the contents of the
data directory are expected to be trustworthy, so we don't need to go
out of our way to do full error checking.

Discussion: https://www.postgresql.org/message-id/flat/dea47fc8-6c89-a2b1-07e3-754ff1ab094b%402ndquadrant.com

Files

PathChange+/−
src/backend/replication/basebackup.c modified +1 −1

Discussion