From 231bd65333821b5737cb98ba31017e3ad59cfee1 Mon Sep 17 00:00:00 2001 From: ume Date: Sun, 12 May 2002 14:12:30 +0000 Subject: Recent zlib does not like Z_FLUSH at the end of inflate(). Reported by: quak@mydiax.ch Obtained from: KAME MFC after: 2 days and approved by re --- sys/netinet6/ipcomp_core.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'sys/netinet6') diff --git a/sys/netinet6/ipcomp_core.c b/sys/netinet6/ipcomp_core.c index bf12545..62af1bc 100644 --- a/sys/netinet6/ipcomp_core.c +++ b/sys/netinet6/ipcomp_core.c @@ -252,14 +252,17 @@ do { \ MOREBLOCK(); } - zerror = mode ? inflate(&zs, Z_FINISH) + zerror = mode ? inflate(&zs, Z_SYNC_FLUSH) : deflate(&zs, Z_FINISH); if (zerror == Z_STREAM_END) break; - else if (zerror == Z_OK) - ; /* once more. */ - else { + else if (zerror == Z_OK) { + if (mode && zs.avail_out != 0) + goto terminate; + else + ; /* once more. */ + } else { if (zs.msg) { ipseclog((LOG_ERR, "ipcomp_%scompress: " "%sflate(Z_FINISH): %s\n", -- cgit v1.1