From a7e79f28689c574e0bbef17f4cb3da00249181ff Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Tue, 19 Jan 2010 15:28:48 +0000 Subject: libxml violates the zlib interface and crashes * xmlIO.c: remove an abuse of zlib API and use a clean interface available in zlib >= 1.2.3 --- diff --git a/xmlIO.c b/xmlIO.c index c03ac43..8fc00e3 100644 --- a/xmlIO.c +++ b/xmlIO.c @@ -2518,6 +2518,9 @@ __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) { #ifdef HAVE_ZLIB_H if ((xmlInputCallbackTable[i].opencallback == xmlGzfileOpen) && (strcmp(URI, "-") != 0)) { +#if defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1230 + ret->compressed = !gzdirect(context); +#else if (((z_stream *)context)->avail_in > 4) { char *cptr, buff4[4]; cptr = (char *) ((z_stream *)context)->next_in; @@ -2529,6 +2532,7 @@ __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) { gzrewind(context); } } +#endif } #endif } -- cgit v0.8.3.1