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:
parent
7fe55d5e12
commit
b3c630cc92
@ -905,7 +905,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;
|
||||
@ -945,7 +945,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_level, 0) != Z_OK)
|
||||
if (deflateParams(tar_data->zp, tar_data->compression_level,
|
||||
Z_DEFAULT_STRATEGY) != Z_OK)
|
||||
{
|
||||
tar_set_error("could not change compression parameters");
|
||||
return NULL;
|
||||
@ -1164,7 +1165,7 @@ tar_close(Walfile f, WalCloseMethod method)
|
||||
else if (tar_data->compression_algorithm == PG_COMPRESSION_GZIP)
|
||||
{
|
||||
/* 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;
|
||||
@ -1176,7 +1177,8 @@ tar_close(Walfile f, WalCloseMethod method)
|
||||
return -1;
|
||||
|
||||
/* Turn compression back on */
|
||||
if (deflateParams(tar_data->zp, tar_data->compression_level, 0) != Z_OK)
|
||||
if (deflateParams(tar_data->zp, tar_data->compression_level,
|
||||
Z_DEFAULT_STRATEGY) != Z_OK)
|
||||
{
|
||||
tar_set_error("could not change compression parameters");
|
||||
return -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user