Merge branch 'maint-0.4.7'

This commit is contained in:
David Goulet 2023-08-15 12:39:33 -04:00
commit 00881f1886
2 changed files with 13 additions and 7 deletions

6
changes/ticket40739 Normal file
View File

@ -0,0 +1,6 @@
o Minor bugfixes (compression):
- Right after compression/decompression work is done, check for errors.
Before this, we would consider compression bomb before that and then
looking for errors leading to false positive on that log warning. Fixes
bug 40739; bugfix on 0.3.5.1-alpha. Patch by "cypherpunks".

View File

@ -368,6 +368,13 @@ tor_zstd_compress_process(tor_zstd_compress_state_t *state,
&output, &input);
}
if (ZSTD_isError(retval)) {
log_warn(LD_GENERAL, "Zstandard %s didn't finish: %s.",
state->compress ? "compression" : "decompression",
ZSTD_getErrorName(retval));
return TOR_COMPRESS_ERROR;
}
state->input_so_far += input.pos;
state->output_so_far += output.pos;
@ -383,13 +390,6 @@ tor_zstd_compress_process(tor_zstd_compress_state_t *state,
return TOR_COMPRESS_ERROR;
}
if (ZSTD_isError(retval)) {
log_warn(LD_GENERAL, "Zstandard %s didn't finish: %s.",
state->compress ? "compression" : "decompression",
ZSTD_getErrorName(retval));
return TOR_COMPRESS_ERROR;
}
if (state->compress && !state->have_called_end) {
retval = ZSTD_flushStream(state->u.compress_stream, &output);