1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-24 13:33:01 +03:00
Commit Graph

257 Commits

Author SHA1 Message Date
Philip Withnall
21699937b0 xmlIO: Handle error returns from dup()
If dup() fails and returns -1, gzdopen() will transparently return NULL,
but then close() will fail after being called on an invalid FD. Change
the code to only call close() on valid FDs.

Coverity issue: #72382
2014-10-06 11:53:39 +08:00
Gaurav Gupta
b8480ae781 Remove a couple of dead conditions
For https://bugzilla.gnome.org/show_bug.cgi?id=733711
2014-07-26 21:14:53 +08:00
Philip Withnall
31aa38158a xmlIO: Fix an FD leak on gzdopen() failure
According to the documentation, gzdopen() does not close the FD on
failure (but does effectively close it on success, since gzclose()
closes it).

Coverity issues: #60440, #60441

https://bugzilla.gnome.org/show_bug.cgi?id=731990
2014-07-26 20:13:11 +08:00
Patrick Monnerat
147aaf21ea Portability fix
Don't assume fileno for stdin and stdout are 0 and 1
2013-12-12 15:02:40 +08:00
Daniel Veillard
63588f476f Fix a regression in xmlGetDocCompressMode()
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
2013-05-10 14:01:46 +08:00
Mikhail Titov
8e2098aef7 Fix an output buffer flushing conversion bug
for https://bugzilla.gnome.org/show_bug.cgi?id=694982
On a flush operation, everything must be converted
2013-03-27 11:00:31 +08:00
Daniel Veillard
bf058dce13 Fix the flushing out of raw buffers on encoding conversions
https://bugzilla.gnome.org/show_bug.cgi?id=692915

the new set of converting functions tried to limit the encoding
conversion of the raw buffer to the consumption one to work in
a more progressive fashion. Unfortunately this was bad for
performances and led to errors on progressive parsing when
a very large chunk was close to the end of the document. Fix
the new internal function and switch back to the old way of
converting. Fix another bug in the process.
2013-02-13 18:19:42 +08:00
Daniel Veillard
153cf15905 Fix large parse of file from memory
https://bugzilla.redhat.com/show_bug.cgi?id=862969
The new code trying to detect excessive input lookup would
just get wrong sometimes in the case of very large file parsed
directly from memory.
2012-10-26 13:50:47 +08:00
Daniel Veillard
f8e3db0445 Big space and tab cleanup
Remove all space before tabs and space and tabs at end of lines.
2012-09-11 13:26:36 +08:00
Michael Stahl
55b899a23a Support long path names on WNT
so we've got this patch to libxml2 2.7.6 in the LibreOffice code base,
inherited from OOo.  it fixes a definite problem, which is that Windows
has a rather low maximum path length restriction, and there is a special
trick on NT whereby path names can be prefixed with "\\?\", in which
case the maximum length is 32k, which ought to be sufficient even for
bloated office suites :)

I'll attach the patch to the xmlCanonicPath function.  note that i
didn't write this and am by no means an expert on either Microsoftean
platforms or libxml so maybe it's not the best way to do it.
2012-09-07 12:19:25 +08:00
Roumen Petrov
89b6f73aea use xmlBuf... if DEBUG_INPUT is defined 2012-08-07 15:17:31 +08:00
Daniel Veillard
e258adecd0 Provide new accessors for xmlOutputBuffer
To avoid digging into buf->buffer insternal strcuture the two
new entry points xmlOutputBufferGetContent() and
xmlOutputBufferGetSize() should make the ode cleaner.

* include/libxml/xmlIO.h: add two new functions
* xmlIO.c: impement the 2 functions based on the new buffer entry points
2012-08-06 11:16:30 +08:00
Daniel Veillard
a6a6e70c47 Convert xmlIO.c to the new input and output buffers
Relatively mechanical changes, this also led to a couple of fixes
upon review of the I/O code on buffer usage.
2012-07-23 14:24:26 +08:00
Daniel Veillard
adf5ec9496 Cleanups of lzma support
- 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
2012-01-27 22:19:53 +08:00
Anders F Bjorklund
6bdc774350 move xz/lzma helpers to separate included files 2012-01-27 22:19:52 +08:00
Anders F Bjorklund
eae5261779 add lzma compression support 2012-01-27 22:19:52 +08:00
Mark Adler
a7e79f2868 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
2010-01-19 16:28:48 +01:00
Daniel Veillard
0d5e58f363 542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK
* xmlIO.c: trivial fix, wrong constant
2009-08-24 13:52:23 +02:00
Rob Richards
6c61e0204b Fix windows build 2009-08-12 11:41:27 -04:00
Hans Breuer
2ad41cad3e 574393 – utf-8 filename magic for compressed files
* xmlIO.c: windows specific magic to have UTF-8 file name work with
  compressed files too.
2009-08-11 17:51:22 +02:00
Daniel Veillard
43bc89c1e3 add a missing check in xmlAddSibling, patch by Kris Breuker avoid
* tree.c: add a missing check in xmlAddSibling, patch by Kris Breuker
* xmlIO.c: avoid xmlAllocOutputBuffer using XML_BUFFER_EXACT which
  leads to performances problems especially on Windows.
daniel

svn path=/trunk/; revision=3820
2009-03-23 19:32:04 +00:00
Daniel Veillard
da3fee406d Borland C fix from Moritz Both regenerate, workaround a problem for buffer
* trionan.c: Borland C fix from Moritz Both
* testapi.c: regenerate, workaround a problem for buffer testing
* xmlIO.c HTMLtree.c: new internal entry point to hide even better
  xmlAllocOutputBufferInternal
* tree.c: harden the code around buffer allocation schemes
* parser.c: restore the warning when namespace names are not absolute
  URIs
* runxmlconf.c: continue regression tests if we get the expected
  number of errors
* Makefile.am: run the python tests on make check
* xmlsave.c: handle the HTML documents and trees
* python/libxml.c: convert python serialization to the xmlSave APIs
  and avoid some horrible hacks
Daniel

svn path=/trunk/; revision=3790
2008-09-01 13:08:57 +00:00
Daniel Veillard
1572425c27 preparing 2.7.0 release remove some testing traces remove some warnings
* configure.in, doc/*: preparing 2.7.0 release
* tree.c: remove some testing traces
* parser.c xmlIO.c xmlschemas.c: remove some warnings
Daniel

svn path=/trunk/; revision=3788
2008-08-30 15:01:04 +00:00
Daniel Veillard
e83e93e715 make a new kind of buffer where shrinking and adding in head can avoid
* include/libxml/tree.h tree.c: make a new kind of buffer where
  shrinking and adding in head can avoid reallocation or full
  buffer memmoves
* encoding.c xmlIO.c: use the new kind of buffers for output
  buffers
Daniel

svn path=/trunk/; revision=3787
2008-08-30 12:52:26 +00:00
Daniel Veillard
c4ba8a4221 fix output bug reported by Petr Pajas and analyzed by Bill Daniel
* xmlIO.c: fix output bug reported by Petr Pajas and analyzed by Bill
Daniel

svn path=/trunk/; revision=3695
2008-02-16 10:08:14 +00:00
Rob Richards
f779da3172 fixed windows path determination (patch from Roland Schwarz, bug #462877)
* xmlIO.c: fixed windows path determination (patch from
  Roland Schwarz, bug #462877)
* win32/Makefile.mingw win32/configure.js: fixed mingw build
  (patch from Roland Schwarz, bug #462877)

svn path=/trunk/; revision=3648
2007-08-14 09:41:21 +00:00
Daniel Veillard
5cdbbd2c75 workaround misgenerated file: URIs c.f. #437385 daniel
* xmlIO.c: workaround misgenerated file: URIs c.f. #437385
daniel

svn path=/trunk/; revision=3630
2007-06-12 09:39:14 +00:00
William M. Brack
38d452ac1c Fixed typo in xmlCharEncFirstLine pointed out by Mark Rowe (bug #440159)
* encoding.c: Fixed typo in xmlCharEncFirstLine pointed out
  by Mark Rowe (bug #440159)
* include/libxml/xmlversion.h.in: Added check for definition of
  _POSIX_C_SOURCE to avoid warnings on Apple OS/X (patch from
  Wendy Doyle and Mark Rowe, bug #346675)
* schematron.c, testapi.c, tree.c, xmlIO.c, xmlsave.c: minor
  changes to fix compilation warnings - no change to logic.

svn path=/trunk/; revision=3618
2007-05-22 16:00:06 +00:00
Daniel Veillard
59d3ed8fe0 applied patch from Andreas Stricke to ease the compilation on Windows CE
* catalog.c libxml.h win32/wince/wincecompat.h win32/wince/wincecompat.c
  xmlIO.c nanohttp.c nanoftp.c trio.c triostr.c triostr.h: applied 
  patch from Andreas Stricke to ease the compilation on Windows CE
Daniel

svn path=/trunk/; revision=3600
2007-04-17 12:44:58 +00:00
Daniel Veillard
bd672bc5f9 applied change from Michael Day to avoid a problem when compiled without
* xmlIO.c: applied change from Michael Day to avoid a problem when
  compiled without zlib support.
Daniel

svn path=/trunk/; revision=3596
2007-03-30 12:39:25 +00:00
Rob Richards
6460f92562 fix Windows compile - missing xmlWrapOpen.
* xmlIO.c: fix Windows compile - missing xmlWrapOpen.
2006-10-12 21:08:29 +00:00
Daniel Veillard
6ad5c4af74 fixed a weird error where validity context whould not show up if warnings
* valid.c: fixed a weird error where validity context whould not
  show up if warnings were disabled pointed out by Bob Stayton
* xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs
* doc//* testapi.c: rebuilt the docs
Daniel
2006-10-11 16:43:06 +00:00
Daniel Veillard
e8967e0de6 applied patch from Mikhail Zabaluev fixing the conditions of unescaping
* xmlIO.c: applied patch from Mikhail Zabaluev fixing the conditions
  of unescaping from URL to filepath, should fix #344588.
Daniel
2006-10-11 09:15:00 +00:00
Daniel Veillard
0da4166676 applied a portability patch from Emelyanov Alexey Daniel
* xmlIO.c: applied a portability patch from Emelyanov Alexey
Daniel
2006-10-10 09:05:36 +00:00
Daniel Veillard
ad4e2963a3 applied patch from Michael Day doing some refactoring for the catalog
* xmlIO.c: applied patch from Michael Day doing some refactoring
  for the catalog entity loaders.
Daniel
2006-09-21 08:36:38 +00:00
Daniel Veillard
8ca85b251a another patch from Emelyanov Alexey to clean up a few things in the
* xmlIO.c: another patch from Emelyanov Alexey to clean up a few things
  in the previous patch.
Daniel
2006-09-01 09:56:07 +00:00
Daniel Veillard
e5a3f37f53 applied patch from Roland Schwingel to fix the problem with file names in
* xmlIO.c: applied patch from Roland Schwingel to fix the problem
  with file names in UTF-8 on Windows, and compat on older win9x
  versions.
Daniel
2006-08-30 13:11:36 +00:00
Daniel Veillard
0b3099545c fix a mix of code and declarations showing up on Windows patch from
* xmlIO.c: fix a mix of code and declarations showing up on Windows
  patch from Kjartan Maraas, fixing #340404
Daniel
2006-05-02 20:34:38 +00:00
Daniel Veillard
f741601cc7 applied patch from Roland Schwingel to allow UTF-8 file paths on Windows
* xmlIO.c: applied patch from Roland Schwingel to allow UTF-8
  file paths on Windows
Daniel
2006-04-27 08:15:20 +00:00
Daniel Veillard
4d3866cf33 applied patch from Geert Jansen to remove xmlBufferClose() which is not
* xmlIO.c: applied patch from Geert Jansen to remove xmlBufferClose()
  which is not needed.
Daniel
2005-11-13 12:43:59 +00:00
Rob Richards
a44f234d3a function consolidation when writing to xmlBuffer. Return error condition
* xmlIO.c xmlwriter.c: function consolidation when writing to xmlBuffer.
  Return error condition not len if xmlwriter fails writing to buffer.
2005-11-09 18:03:45 +00:00
Daniel Veillard
9a00fd2991 applied patch from Geert Jansen to implement the save function to a
* xmlsave.c xmlIO.c include/libxml/xmlIO.h include/libxml/xmlsave.h:
  applied patch from Geert Jansen to implement the save function to
  a xmlBuffer, and a bit of cleanup.
Daniel
2005-11-09 08:56:26 +00:00
Daniel Veillard
9b693b489d more portability patches from Albert Chin for HP-UX and AIX Daniel
* xmlIO.c xmlmodule.c: more portability patches from Albert Chin for
  HP-UX and AIX
Daniel
2005-10-28 14:54:17 +00:00
Daniel Veillard
336a8e13bf get rid of the dependancy on a locally installed DTD try to cleanup the
* test/relaxng/docbook_0.xml: get rid of the dependancy on a locally
  installed DTD
* uri.c include/libxml/uri.h xmlIO.c nanoftp.c nanohttp.c: try to
  cleanup the Path/URI conversion mess, needed fixing in various
  layers and a new API to the uri module which also fixes #306861
* runtest.c: integrated a regression test specific to check the
  URI conversions done before calling the I/O handlers.
Daniel
2005-08-07 10:46:19 +00:00
Daniel Veillard
24505b0f5c a lot of small cleanups based on Linus' sparse check output. Daniel
* HTMLparser.c SAX2.c encoding.c globals.c parser.c relaxng.c
  runsuite.c runtest.c schematron.c testHTML.c testReader.c
  testRegexp.c testSAX.c testThreads.c valid.c xinclude.c xmlIO.c
  xmllint.c xmlmodule.c xmlschemas.c xpath.c xpointer.c: a lot of
  small cleanups based on Linus' sparse check output.
Daniel
2005-07-28 23:49:35 +00:00
Daniel Veillard
8fcd2cacd3 fixed bug #307503 misplaced #ifdef Daniel
* xmlIO.c: fixed bug #307503 misplaced #ifdef
Daniel
2005-07-03 14:42:56 +00:00
Daniel Veillard
5d4644ef6e revamped the elfgcchack.h format to cope with gcc4 change of aliasing
* doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h
  format to cope with gcc4 change of aliasing allowed scopes, had
  to add extra informations to doc/libxml2-api.xml to separate
  the header from the c module source.
* *.c: updated all c library files to add a #define bottom_xxx
  and reimport elfgcchack.h thereafter, and a bit of cleanups.
* doc//* testapi.c: regenerated when rebuilding the API
Daniel
2005-04-01 13:11:58 +00:00
William M. Brack
66e40b14d5 added a check within xmlOutputBufferWriteEscape to prevent a dead loop on
* xmlIO.c: added a check within xmlOutputBufferWriteEscape to prevent
  a dead loop on bad data (bug 159550)
2004-11-26 15:45:19 +00:00
Daniel Veillard
5ea30d7f95 more fixes. Daniel
* parser.c testapi.c xmlIO.c xmlstring.c: more fixes.
Daniel
2004-11-08 11:54:28 +00:00
Daniel Veillard
4259532303 more types, more coverage more problems fixed Daniel
* gentest.py testapi.c: more types, more coverage
* parser.c parserInternals.c relaxng.c valid.c xmlIO.c
  xmlschemastypes.c: more problems fixed
Daniel
2004-11-08 10:52:06 +00:00