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]