postgres.git / summary / log / commit / refs
commit 61a65c53bd3e48e7ff7661a528d1791dfd956957
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Mon Jul 27 15:27:27 2015 +0000
Fix memory leak in xlogreader facility.
XLogReaderFree failed to free the per-block data buffers, when they
happened to not be used by the latest read WAL record.
Michael Paquier. Backpatch to 9.5, where the per-block buffers were added.
src/backend/access/transam/xlogreader.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c
index a9e926c5a28..f1b209b1ad1 100644
--- a/src/backend/access/transam/xlogreader.c
+++ b/src/backend/access/transam/xlogreader.c
@@ -126,11 +126,8 @@ XLogReaderFree(XLogReaderState *state)
for (block_id = 0; block_id <= state->max_block_id; block_id++)
{
- if (state->blocks[block_id].in_use)
- {
- if (state->blocks[block_id].data)
- pfree(state->blocks[block_id].data);
- }
+ if (state->blocks[block_id].data)
+ pfree(state->blocks[block_id].data);
}
if (state->main_data)
pfree(state->main_data);
[parent: 334445179c82]