summaryrefslogtreecommitdiff
path: root/xzlib.c
Commit message (Collapse)AuthorAgeFilesLines
* xzlib: Fix implicit sign change in xz_openNick Wellnhofer2023-03-141-2/+5
|
* sources: Silence C4013 warnings on Visual StudioChun-wei Fan2022-11-221-0/+2
| | | | | | | | The read(), close(), open(), lseek() functions are found in io.h on Visual Studio, which does not ship unistd.h, so include io.h on Windows if unistd.h is not found. C4013 (aka implicit declaration of ...) warnings can often ring alarm bells.
* Stop including sys/types.hNick Wellnhofer2022-09-021-3/+0
|
* Consolidate private header filesNick Wellnhofer2022-08-261-1/+1
| | | | | | | | | | | Private functions were previously declared - in header files in the root directory - in public headers guarded with IN_LIBXML - in libxml.h - redundantly in source files that used them. Consolidate all private header files in include/private.
* Don't check for standard C89 headersNick Wellnhofer2022-03-021-6/+1
| | | | | | | | | | | | | | | | | | | | Don't check for - ctype.h - errno.h - float.h - limits.h - math.h - signal.h - stdarg.h - stdlib.h - string.h - time.h Stop including non-standard headers - malloc.h - strings.h
* Fix unused variable warnings with disabled featuresNick Wellnhofer2022-02-221-0/+8
|
* Large batch of typo fixesJared Yanovich2019-09-301-2/+2
| | | | Closes #109.
* Fix infinite loop in LZMA decompressionNick Wellnhofer2018-07-301-0/+9
| | | | | | | | | | | Check the liblzma error code more thoroughly to avoid infinite loops. Closes: https://gitlab.gnome.org/GNOME/libxml2/issues/13 Closes: https://bugzilla.gnome.org/show_bug.cgi?id=794914 This is CVE-2018-9251 and CVE-2018-14567. Thanks to Dongliang Mu and Simon Wörner for the reports.
* Fix libz and liblzma detectionNick Wellnhofer2017-11-271-12/+12
| | | | | | | | | If libz or liblzma are detected with pkg-config, AC_CHECK_HEADERS must not be run because the correct CPPFLAGS aren't set. It is actually not required have separate checks for LIBXML_ZLIB_ENABLED and HAVE_ZLIB_H. Only check for LIBXML_ZLIB_ENABLED and remove HAVE_ZLIB_H macro. Fixes bug 764657, bug 787041.
* Fix memory leak in LZMA decompressorNick Wellnhofer2017-09-071-0/+2
|
* Set memory limit for LZMA decompressionNick Wellnhofer2017-09-071-1/+1
| | | | | | | | | | Otherwise malicious LZMA compressed files could consume large amounts of memory when decompressed. According to the xz man page, files compressed with `xz -9` currently require 65 MB to decompress, so set the limit to 100 MB. Should fix bug 786696.
* Reenable xz support by defaultDaniel Veillard2015-11-031-2/+4
| | | | | | | For https://bugzilla.gnome.org/show_bug.cgi?id=757466 problem was introduced by commit f3f86ff465c92c79f834d7b981f3c7274a8bb5c8 for https://bugzilla.gnome.org/show_bug.cgi?id=711026
* CVE-2015-8035 Fix XZ compression support loopCVE-2015-8035Daniel Veillard2015-11-031-0/+4
| | | | | | | For https://bugzilla.gnome.org/show_bug.cgi?id=757466 DoS when parsing specially crafted XML document if XZ support is compiled in (which wasn't the case for 2.9.2 and master since Nov 2013, fixed in next commit !)
* Fix a bug loading some compressed filesMike Alexander2013-11-281-4/+22
| | | | | | | | | | | | | For https://bugzilla.gnome.org/show_bug.cgi?id=712528 Related to https://bugzilla.redhat.com/show_bug.cgi?id=877567 There is a bug in xzlib.c which causes certain compressed XML files to fail to load correctly. The code in xz_decomp which attempts to verify the checksum and length of the expanded data fails if the checksum or length at the end of the file crosses a 1024 byte boundary. It calls gz_next4 to get those two values. This function uses the stream state in state->zstrm, but calls xz_avail which uses the state->strm stream info. This causes gz_next4 to signal a premature EOF if the data it is fetching crosses a 1024 byte boundary.
* Fix a regression in xmlGetDocCompressMode()Daniel Veillard2013-05-101-0/+25
| | | | | | | | | | | | The switch to xzlib had for consequence that the compression level of the input was not gathered anymore in ctxt->input->buf, then the parser compression flags was left to -1 and propagated to the resulting document. Fix the I/O layer to get compression detection in xzlib, then carry it in the input buffer and the resulting document This should fix https://lsbbugs.linuxfoundation.org/show_bug.cgi?id=3456
* Fix various bugs in new code raised by the API checkingDaniel Veillard2012-05-151-1/+1
| | | | | | * testapi.c: regenerated and covering new APIs * tree.c: xmlBufferDetach can't work on immutable buffers * xzlib.c: fix a deallocation error
* Fix a memory leak in the xzlib codeDaniel Veillard2012-05-151-28/+36
| | | | | | The freeing function wasn't called due to a bogus #ifdef surrounding value. Also switch the code to use the normal libxml2 allocation and freeing routines.
* fixed a 64bit big endian issueMarcus Meissner2012-05-071-2/+7
| | | | | | For https://bugzilla.gnome.org/show_bug.cgi?id=671176 patch fixes a 64bit endian issue, making libxml2 work (again) on ppc64 unsigned int and size_t are differently sized on 64bit.
* Do not use unsigned but unsigned intDaniel Veillard2012-04-021-5/+6
| | | | as this breaks the API generator
* Cleanups of lzma supportDaniel Veillard2012-01-271-214/+274
| | | | | | | | - fix inclusion of the separated file - use namespaced name for the 4 non-static routines - add padding after external structures included in-situ - add new requirement to spec file - general cleanup of code
* move xz/lzma helpers to separate included filesAnders F Bjorklund2012-01-271-0/+681