[Bug] compressEnd doesn't handle itself very well
< Newer Topic
:: Older Topic >
Pages:<< prev 1 next >>
#1 Apr 21, 2010 5:19 am
Off the Edge of the Map
GroupAdministrators
Posts1,200
JoinedMar 21, 2006
Bug: compressEnd doesn't handle itself very well.
Danger: Medium - Could contribute to rare issue of compressed streams becoming corrupted.
Found by: Nick Gammon
Fixed by: Nick Gammon
---
mccp.c
Replace the compressEnd function with:
Danger: Medium - Could contribute to rare issue of compressed streams becoming corrupted.
Found by: Nick Gammon
Fixed by: Nick Gammon
---
mccp.c
Replace the compressEnd function with:
bool compressEnd( DESCRIPTOR_DATA * d ) { unsigned char dummy[1]; if( !d->mccp->out_compress ) return TRUE; d->mccp->out_compress->avail_in = 0; d->mccp->out_compress->next_in = dummy; if( deflate( d->mccp->out_compress, Z_FINISH ) == Z_STREAM_END ) process_compressed( d ); /* try to send any residual data */ deflateEnd( d->mccp->out_compress ); DISPOSE( d->mccp->out_compress_buf ); DISPOSE( d->mccp->out_compress ); return TRUE; }
Pages:<< prev 1 next >>