Fix incorrect value for "strategy" with deflateParams() in walmethods.c

The zlib documentation mentions the values supported for the compression
strategy, but this code has been using a hardcoded value of 0 rather
than Z_DEFAULT_STRATEGY.  This commit adjusts the code to use
Z_DEFAULT_STRATEGY.

Backpatch down to where this code has been added to ease the backport of
any future patch touching this area.

Reported-by: Tom Lane
Discussion: https://postgr.es/m/1400032.1662217889@sss.pgh.pa.us
Backpatch-through: 10
This commit is contained in:
Michael Paquier 2022-09-14 14:52:28 +09:00
parent b7f37af7c1
commit 4b529f4697
1 changed files with 6 additions and 4 deletions

View File

@ -706,7 +706,7 @@ tar_open_for_write(const char *pathname, const char *temp_suffix, size_t pad_to_
return NULL;
/* Turn off compression for header */
if (deflateParams(tar_data->zp, 0, 0) != Z_OK)
if (deflateParams(tar_data->zp, 0, Z_DEFAULT_STRATEGY) != Z_OK)
{
tar_set_error("could not change compression parameters");
return NULL;
@ -746,7 +746,8 @@ tar_open_for_write(const char *pathname, const char *temp_suffix, size_t pad_to_
return NULL;
/* Re-enable compression for the rest of the file */
if (deflateParams(tar_data->zp, tar_data->compression, 0) != Z_OK)
if (deflateParams(tar_data->zp, tar_data->compression,
Z_DEFAULT_STRATEGY) != Z_OK)
{
tar_set_error("could not change compression parameters");
return NULL;
@ -960,7 +961,7 @@ tar_close(Walfile f, WalCloseMethod method)
else
{
/* Turn off compression */
if (deflateParams(tar_data->zp, 0, 0) != Z_OK)
if (deflateParams(tar_data->zp, 0, Z_DEFAULT_STRATEGY) != Z_OK)
{
tar_set_error("could not change compression parameters");
return -1;
@ -972,7 +973,8 @@ tar_close(Walfile f, WalCloseMethod method)
return -1;
/* Turn compression back on */
if (deflateParams(tar_data->zp, tar_data->compression, 0) != Z_OK)
if (deflateParams(tar_data->zp, tar_data->compression,
Z_DEFAULT_STRATEGY) != Z_OK)
{
tar_set_error("could not change compression parameters");
return -1;