Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix memory allocation mistake
authorPeter Eisentraut <peter@eisentraut.org>
Wed, 6 Nov 2019 13:20:29 +0000 (14:20 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Wed, 6 Nov 2019 13:22:40 +0000 (14:22 +0100)
The previous code was allocating more memory than necessary because
the formula used the wrong data type.

Reported-by: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
Discussion: https://www.postgresql.org/message-id/20191105172918.3e32a446@firost

src/backend/replication/logical/relation.c

index 905ca12fd80f5d3ea4f95ca570385297bbc76648..bc0e64713c0dcb6105b50103343039e783111bcc 100644 (file)
@@ -267,7 +267,7 @@ logicalrep_rel_open(LogicalRepRelId remoteid, LOCKMODE lockmode)
         */
        desc = RelationGetDescr(entry->localrel);
        oldctx = MemoryContextSwitchTo(LogicalRepRelMapContext);
-       entry->attrmap = palloc(desc->natts * sizeof(int));
+       entry->attrmap = palloc(desc->natts * sizeof(AttrNumber));
        MemoryContextSwitchTo(oldctx);
 
        found = 0;