[xml/sgml-pkgs] Bug#546488: Bug#546488: Bug#546488: 2.7.4 breaks inkscape

Mike Hommey mh at glandium.org
Mon Sep 14 07:12:32 UTC 2009


On Mon, Sep 14, 2009 at 08:44:02AM +0200, Mike Hommey wrote:
> On Sun, Sep 13, 2009 at 11:09:34PM -0400, Dylan Thurston wrote:
> > severity 546488 grave
> > thanks
> > 
> > Package: libxml2
> > Version: 2.7.4.dfsg-1
> > Severity: normal
> > 
> > Both default.svg and render_barcode.inx start with "<?xml" as the very
> > first characters of the document.  I've attached the files for
> > reference.  Presumably there's something funny about them.
> > 
> > I also think this is a grave bug (as it breaks an unrelated package),
> > at least for the moment.
> 
> Okay, I did trace inkscape startup, and it appears there appears to be a
> bug in libxml2, though I haven't determined what exactly yet.
> 
> Until I find exactly what is broken, you can either downgrade libxml2,
> or remove the xml declarations from the files. That's what triggers the
> bug. A lot of other files don't have the declaration and are read fine.

Found the culprit:
diff --git a/parser.c b/parser.c
index 0a10b0f..0d856b7 100644
--- a/parser.c
+++ b/parser.c
@@ -10109,8 +10109,9 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
 
     /*
      * Check for the XMLDecl in the Prolog.
+     * do not GROW here to avoid the detected encoder to decode more
+     * than just the first line
      */
-    GROW;
     if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && (IS_BLANK_CH(NXT(5)))) {
 
        /*

I'll have to check with upstream on this one, as to why this change was done
exactly. I wouldn't like to break the other paths (inkscape using a special one,
which is why xmllint doesn't choke on the files where inkscape does)

Mike





More information about the debian-xml-sgml-pkgs mailing list