mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
ssh.com 3.2.0 uses zlib sync flush (start and close an empty
uncompressed block at the end of each compressed packet) which we were embarrassingly unable to deal with because we assumed every uncompressed block contained at least one byte. Particularly silly because I _knew_ about the existence of sync flush when I coded this module. Arrgh. Still, now fixed. [originally from svn r1824]
This commit is contained in:
parent
4abd468e14
commit
e8ab511442
@ -1164,7 +1164,10 @@ int zlib_decompress_block(unsigned char *block, int len,
|
||||
goto finished;
|
||||
nlen = dctx.bits & 0xFFFF;
|
||||
EATBITS(16);
|
||||
dctx.state = UNCOMP_DATA;
|
||||
if (dctx.uncomplen == 0)
|
||||
dctx.state = OUTSIDEBLK; /* block is empty */
|
||||
else
|
||||
dctx.state = UNCOMP_DATA;
|
||||
break;
|
||||
case UNCOMP_DATA:
|
||||
if (dctx.nbits < 8)
|
||||
|
Loading…
Reference in New Issue
Block a user