• David Kilzer's avatar
    Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8... · 4f8606c1
    David Kilzer authored
    Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183>
    
    * parser.c:
    (xmlCheckCdataPush): Add 'complete' argument to describe whether
    the buffer passed in is the whole CDATA buffer, or if there is
    more data to parse.  If there is more data to parse, don't
    return a negative value for an invalid multi-byte UTF-8
    character that is split between buffers.
    (xmlParseTryOrFinish): Pass 'complete' argument to
    xmlCheckCdataPush() as appropriate.
    
    * result/cdata-2-byte-UTF-8.xml: Added.
    * result/cdata-2-byte-UTF-8.xml.rde: Added.
    * result/cdata-2-byte-UTF-8.xml.rdr: Added.
    * result/cdata-2-byte-UTF-8.xml.sax: Added.
    * result/cdata-2-byte-UTF-8.xml.sax2: Added.
    * result/cdata-3-byte-UTF-8.xml: Added.
    * result/cdata-3-byte-UTF-8.xml.rde: Added.
    * result/cdata-3-byte-UTF-8.xml.rdr: Added.
    * result/cdata-3-byte-UTF-8.xml.sax: Added.
    * result/cdata-3-byte-UTF-8.xml.sax2: Added.
    * result/cdata-4-byte-UTF-8.xml: Added.
    * result/cdata-4-byte-UTF-8.xml.rde: Added.
    * result/cdata-4-byte-UTF-8.xml.rdr: Added.
    * result/cdata-4-byte-UTF-8.xml.sax: Added.
    * result/cdata-4-byte-UTF-8.xml.sax2: Added.
    * result/noent/cdata-2-byte-UTF-8.xml: Added.
    * result/noent/cdata-3-byte-UTF-8.xml: Added.
    * result/noent/cdata-4-byte-UTF-8.xml: Added.
    * test/cdata-2-byte-UTF-8.xml: Added.
    * test/cdata-3-byte-UTF-8.xml: Added.
    * test/cdata-4-byte-UTF-8.xml: Added.
    - Add tests and results.  Only 'make Readertests XMLPushtests'
      fails prior to the fix.
    4f8606c1