On Mon, Apr 27, 2026 at 01:59:09AM +0900, DaeMyung Kang wrote: > initStringInfo() unconditionally allocates a fresh ~1KB buffer with > palloc() and overwrites the existing data pointer without freeing the > previous one. So every time the walreceiver re-enters the streaming > path -- e.g., after a timeline switch, end-of-WAL, or any other > condition that drives the outer for(;;) loop to iterate -- the prior > buffer is leaked. The leak is bounded per streaming restart but > accumulates over the lifetime of a long-running standby that > restarts streaming often.
This is a problem similar to [1], and I'd agree about cleaning that up
properly.
> This appears to date back to commit add6c3179a4 ("Make the streaming
> replication protocol messages architecture-independent.", 2012), so
> the fix is likely a candidate for back-patching to all supported
> branches.
This is minor, so I don't really see a point in back-patching. Same
reason as the other thread.
I'll go merge that together.
[1]: https://www.postgresql.org/message-id/[email protected]
--
Michael
signature.asc
Description: PGP signature
