Commits on Aug 14, 2026
-
Fix detection of truncated compressed backups
pg_verifybackup failed to detect truncated compressed tar backups for zstd, lz4 and gzip compression. astreamer_zstd_decompressor checked whether ZSTD_decompressStream() returned an error. However, a positive return value at end-of-input means that the final zstd frame has not completed. Record the state and verify at finalization that zstd completed the frame. Also flush any pending internally buffered output before performing that check. astreamer_gzip_decompressor did not check whether inflate() had reached Z_STREAM_END before finalizing. Record whether inflate() completed the gzip stream, and reject finalization if it did not. astreamer_lz4_decompressor did not check whether LZ4F_decompress() completed the final frame before finalizing. Record the status of decompression and reject finalization unless the frame completed. This prevents pg_verifybackup from accepting a truncated compressed tar backup. Author: Chao Li <lic@highgo.com> Co-authored-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: Osama Abdul Qader <osamaabdulqader.cs@gmail.com> Reviewed-by: Zsolt Parragi <zsolt.parragi@percona.com> Reviewed-by: Japin Li <japinli@hotmail.com> Discussion: https://postgr.es/m/5962B878-C43D-4EBC-9E95-1F945CE5E586@gmail.com
2 people authored and committed
Aug 14, 2026 -
Fix detection of truncated zstd and LZ4 dump data
`pg_restore` did not verify that zstd and LZ4 decompression completed the final frame when reading custom and directory-format dumps. As a result, it could accept a dump whose compressed data was truncated. Track final-frame completion and reject incomplete compressed input. For zstd, flush any internally buffered output before performing the final check. Add regression tests for truncated zstd and LZ4 data in custom and directory-format dumps. Author: Chao Li <lic@highgo.com> Co-authored-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: Discussion: https://postgr.es/m/5962B878-C43D-4EBC-9E95-1F945CE5E586@gmail.com
2 people authored and Commitfest Bot committed
Aug 14, 2026