[libxml2] libxml violates the zlib interface and crashes
- From: Daniel Veillard <veillard src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libxml2] libxml violates the zlib interface and crashes
- Date: Tue, 19 Jan 2010 15:29:56 +0000 (UTC)
commit a7e79f28689c574e0bbef17f4cb3da00249181ff
Author: Mark Adler <madler alumni caltech edu>
Date: Tue Jan 19 16:28:48 2010 +0100
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
xmlIO.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
---
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
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]