Re: [xml] Valgrind problems with xmlParseFile
- From: Daniel Veillard <veillard redhat com>
- To: Alex Bligh <alex alex org uk>
- Cc: xml gnome org
- Subject: Re: [xml] Valgrind problems with xmlParseFile
- Date: Thu, 16 Aug 2012 18:21:32 +0800
On Thu, Aug 16, 2012 at 10:52:37AM +0100, Alex Bligh wrote:
We are calling
xmlParseFile("constantfilename.xml")
and this is producing Valgrind errors.
On inspection, it appears to be coming from the code snippet below,
almost certainly the gzdirect call (though the name is lost from
the stack trace).
Other people have seen this outside libxml and it is probably a zlib
issue. However, we KNOW our file is not compressed. Is there a way
that we can do an xmlParseFile and say "please don't even try to
use a compression handler"?
Well ... no ! Except by registering your own I/O functions
and feeding the parser yourself but with normal APIs I really want
transparent (de)compression, because well XML compress so well
in general that it's a shame to not do it more often :)
#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;
if (gzread(context, buff4, 4) == 4) {
if (strncmp(buff4, cptr, 4) == 0)
ret->compressed = 0;
else
ret->compressed = 1;
gzrewind(context);
}
}
#endif
The problem is that if I were to avoid using the autodetection
from zlib, I would have to try to embbed some autodetection in libxml2
and that sounds just the wrong thing to do. Better fix zlib or
get valgrind updated ignore files for zlib.
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel veillard com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]