mirror of
https://github.com/postgres/postgres.git
synced 2025-05-05 09:19:17 +03:00
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.
This commit is contained in:
parent
202aea62a8
commit
03a0a3532b
@ -126,11 +126,8 @@ XLogReaderFree(XLogReaderState *state)
|
|||||||
|
|
||||||
for (block_id = 0; block_id <= state->max_block_id; block_id++)
|
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)
|
if (state->main_data)
|
||||||
pfree(state->main_data);
|
pfree(state->main_data);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user