mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 19:17:14 +08:00
33 lines
1.0 KiB
Diff
33 lines
1.0 KiB
Diff
From a7e79f28689c574e0bbef17f4cb3da00249181ff Mon Sep 17 00:00:00 2001
|
|
From: Mark Adler <madler@alumni.caltech.edu>
|
|
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
|