From: Amit Kapila Date: Wed, 21 Sep 2022 04:50:37 +0000 (+0530) Subject: Pass Size as a 2nd argument for snprintf() in tablesync.c. X-Git-Tag: REL_16_BETA1~1658 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a932824dfe068f563e9abb9264f6e071f23e67ae;p=thirdparty%2Fpostgresql.git Pass Size as a 2nd argument for snprintf() in tablesync.c. Previously the following snprintf() wrappers: * ReplicationSlotNameForTablesync() * ReplicationOriginNameForTablesync() ... used int as a second argument of snprintf() while the actual type of it is size_t. Although it doesn't fail at present better replace it with Size for consistency with the rest of the system. Author: Aleksander Alekseev Reviewed-By: Peter Smith Discussion: https://postgr.es/m/CAHut%2BPsa8hhfSE6ozUK-ih7GkQziAVAf4f3bqiXEj2nQiu-43g%40mail.gmail.com --- diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index 831d42016c1..8eff69c7dec 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -1187,7 +1187,7 @@ copy_table(Relation rel) */ void ReplicationSlotNameForTablesync(Oid suboid, Oid relid, - char *syncslotname, int szslot) + char *syncslotname, Size szslot) { snprintf(syncslotname, szslot, "pg_%u_sync_%u_" UINT64_FORMAT, suboid, relid, GetSystemIdentifier()); @@ -1200,7 +1200,7 @@ ReplicationSlotNameForTablesync(Oid suboid, Oid relid, */ void ReplicationOriginNameForTablesync(Oid suboid, Oid relid, - char *originname, int szorgname) + char *originname, Size szorgname) { snprintf(originname, szorgname, "pg_%u_%u", suboid, relid); } diff --git a/src/include/replication/slot.h b/src/include/replication/slot.h index 81e31f002a3..8d5e764aef5 100644 --- a/src/include/replication/slot.h +++ b/src/include/replication/slot.h @@ -218,7 +218,7 @@ extern void ReplicationSlotsDropDBSlots(Oid dboid); extern bool InvalidateObsoleteReplicationSlots(XLogSegNo oldestSegno); extern ReplicationSlot *SearchNamedReplicationSlot(const char *name, bool need_lock); extern int ReplicationSlotIndex(ReplicationSlot *slot); -extern void ReplicationSlotNameForTablesync(Oid suboid, Oid relid, char *syncslotname, int szslot); +extern void ReplicationSlotNameForTablesync(Oid suboid, Oid relid, char *syncslotname, Size szslot); extern void ReplicationSlotDropAtPubNode(WalReceiverConn *wrconn, char *slotname, bool missing_ok); extern void StartupReplicationSlots(void); diff --git a/src/include/replication/worker_internal.h b/src/include/replication/worker_internal.h index 901845abc2c..f82bc518c32 100644 --- a/src/include/replication/worker_internal.h +++ b/src/include/replication/worker_internal.h @@ -93,7 +93,7 @@ extern void logicalrep_worker_wakeup_ptr(LogicalRepWorker *worker); extern int logicalrep_sync_worker_count(Oid subid); extern void ReplicationOriginNameForTablesync(Oid suboid, Oid relid, - char *originname, int szorgname); + char *originname, Size szorgname); extern char *LogicalRepSyncTableStart(XLogRecPtr *origin_startpos); extern bool AllTablesyncsReady(void);