CVS commit: src/sys/opencrypto

Module Name: src
Committed By: drochner
Date: Thu Feb 17 17:10:18 UTC 2011
Modified Files:
src/sys/opencrypto: deflate.c
Log Message:
The decompressor in sys/net/zlib.c has a bug: It returns Z_BUF_ERROR after
a successful decompression in rare cases. A necessary but not sufficient
condition seems to be that the decompressed data end exactly at the end
of an allocated output buffer. (I can reproduce this reliably with
a userland program built against kernel zlib. Userland libz is much
newer and not affected.)
Since kernel zlib is based on an old version and heavily modified, I don't
dare to touch it. So catch this case in the wrapper.
Being here, reorder deflate/inflate error handling and add comments
to make understandable what is tested and why.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/opencrypto/deflate.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.