]> git.kaiwu.me - haproxy.git/commit
BUG/MEDIUM: flt-decomp: preserve pending output before decoding again
authorTiburce GIROUX <tgiroux@haproxy.com>
Mon, 9 Nov 2026 18:13:37 +0000 (19:13 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 10 Nov 2026 07:36:38 +0000 (08:36 +0100)
commit66e4be2fd0b47948b232f4a720fc8a9ac0ad8fb3
tree66a97e22b140accd4dffd621d83780aa709c8ec6
parentb9145640c5fb427db53768f9b8da2c4ada218956
BUG/MEDIUM: flt-decomp: preserve pending output before decoding again

The HTTP no-input path tries to drain the decompressor's pending output,
then may call add_data() with an empty input even when the drain was only
partial. decomp_uslz_add_data() replaces drain and drain_len with the new
result, so this can discard output that has not yet been forwarded.

Only call the decoder again after the previous output has been fully
drained, as the TCP decompression path already does.
src/flt_decomp.c