mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
Fix memory leak in pg_restore with zstd-compressed data.
EndCompressorZstd() neglected to free everything. This was most visible with a lot of large objects in the dump. Per report from Tomasz Szypowski. Back-patch to v16 where this code came in. Discussion: https://postgr.es/m/DU0PR04MB94193D038A128EF989F922D199042@DU0PR04MB9419.eurprd04.prod.outlook.com
This commit is contained in:
parent
d96d1d5152
commit
3f06324705
@ -137,9 +137,10 @@ EndCompressorZstd(ArchiveHandle *AH, CompressorState *cs)
|
||||
Assert(zstdcs->dstream == NULL);
|
||||
_ZstdWriteCommon(AH, cs, true);
|
||||
ZSTD_freeCStream(zstdcs->cstream);
|
||||
pg_free(zstdcs->output.dst);
|
||||
}
|
||||
|
||||
/* output buffer may be allocated in either mode */
|
||||
pg_free(zstdcs->output.dst);
|
||||
pg_free(zstdcs);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user