mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-19 00:51:37 +01:00
IMPORT: slz: fix header used for empty zlib message
Calling slz_rfc1950_finish() without emitting any data would result in incorrectly emitting a gzip header (rfc1952) instead of a zlib header (rfc1950) due to a copy-paste between the two wrappers. The impact is almost inexistent since the zlib format is almost never used in this context, and compressing totally empty messages is quite rare as well. Let's take this opportunity for fixing another mistake on an RFC number in a comment. This is slz upstream commit 7f3fce4f33e8c2f5e1051a32a6bca58e32d4f818.
This commit is contained in:
parent
411b04c7d3
commit
31ca29eee1
@ -1357,7 +1357,7 @@ long slz_rfc1950_encode(struct slz_stream *strm, unsigned char *out, const unsig
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Initializes stream <strm> for use with the zlib format (rfc1952). The
|
||||
/* Initializes stream <strm> for use with the zlib format (rfc1950). The
|
||||
* compression level passed in <level> is set. This value can only be 0 (no
|
||||
* compression) or 1 (compression) and other values will lead to unpredictable
|
||||
* behaviour. The function always returns 0.
|
||||
@ -1409,7 +1409,7 @@ int slz_rfc1950_finish(struct slz_stream *strm, unsigned char *buf)
|
||||
strm->outbuf = buf;
|
||||
|
||||
if (__builtin_expect(strm->state == SLZ_ST_INIT, 0))
|
||||
strm->outbuf += slz_rfc1952_send_header(strm, strm->outbuf);
|
||||
strm->outbuf += slz_rfc1950_send_header(strm, strm->outbuf);
|
||||
|
||||
slz_rfc1951_finish(strm, strm->outbuf);
|
||||
copy_8b(strm, (strm->crc32 >> 24) & 0xff);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user