handle clean shutdown of zlib stream
the server can actually close the zlib stream before closing the socket, so we need to accept it. we don't do anything beyond that - the actual EOF will be signaled by the socket, and if the server (erroneously) sends more data, zlib will tell us about it. REFMAIL: 1423048708-975-1-git-send-email-alex.bennee@linaro.org
This commit is contained in:
parent
ef70bd4a40
commit
c9b8cefc29
|
@ -597,7 +597,7 @@ static void
|
|||
socket_fill_z( conn_t *sock )
|
||||
{
|
||||
char *buf;
|
||||
int len;
|
||||
int len, ret;
|
||||
|
||||
if (prepare_read( sock, &buf, &len ) < 0)
|
||||
return;
|
||||
|
@ -605,7 +605,8 @@ socket_fill_z( conn_t *sock )
|
|||
sock->in_z->avail_out = len;
|
||||
sock->in_z->next_out = (unsigned char *)buf;
|
||||
|
||||
if (inflate( sock->in_z, Z_SYNC_FLUSH ) != Z_OK) {
|
||||
ret = inflate( sock->in_z, Z_SYNC_FLUSH );
|
||||
if (ret != Z_OK && ret != Z_STREAM_END) {
|
||||
error( "Error decompressing data from %s: %s\n", sock->name, sock->in_z->msg );
|
||||
socket_fail( sock );
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue
Block a user