Skip to content

Commit 08e5ed6

Browse files
gujjwal00bk138
authored andcommitted
libvncserver: Handle 'Z_STREAM_END' in zlib stream decompression
According to zlib manual (https://zlib.net/manual.htm): "inflate() returns Z_OK if some progress has been made (more input processed or more output produced), Z_STREAM_END if the end of the compressed data has been reached and all uncompressed output has been produced"
1 parent 5a464a2 commit 08e5ed6

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

src/libvncserver/rfbserver.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2184,7 +2184,8 @@ rfbProcessExtendedServerCutTextData(rfbClientPtr cl, uint32_t flags, const char
21842184
}
21852185
stream.avail_out = size;
21862186
stream.next_out = (unsigned char *)buf;
2187-
if (inflate(&stream, Z_NO_FLUSH) != Z_OK) {
2187+
err = inflate(&stream, Z_NO_FLUSH);
2188+
if (err != Z_OK && err != Z_STREAM_END) {
21882189
rfbLogPerror("rfbProcessExtendedServerCutTextData: zlib inflation error");
21892190
free(buf);
21902191
inflateEnd(&stream);

0 commit comments

Comments
 (0)