mirror of
https://gitlab.gnome.org/GNOME/libxml2
synced 2025-03-28 21:33:13 +00:00
xmlAttrSerializeTxtContent don't segfault if NULL is passed. adding an old
* tree.c: xmlAttrSerializeTxtContent don't segfault if NULL is passed. * test/att7 result//att7*: adding an old regression test laying around on my laptop Daniel
This commit is contained in:
parent
219245203a
commit
cb35f01d94
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 20 09:56:47 CET 2004 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* tree.c: xmlAttrSerializeTxtContent don't segfault if NULL
|
||||||
|
is passed.
|
||||||
|
* test/att7 result//att7*: adding an old regression test
|
||||||
|
laying around on my laptop
|
||||||
|
|
||||||
Thu Feb 19 17:33:36 CET 2004 Daniel Veillard <daniel@veillard.com>
|
Thu Feb 19 17:33:36 CET 2004 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* xmlreader.c: fixed xmllint --memory --stream memory consumption
|
* xmlreader.c: fixed xmllint --memory --stream memory consumption
|
||||||
|
11
result/att7
Normal file
11
result/att7
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE x [
|
||||||
|
<!ELEMENT x (test)*>
|
||||||
|
<!ELEMENT test EMPTY>
|
||||||
|
<!ATTLIST test att CDATA "attvalue">
|
||||||
|
<!ENTITY test.ent "<test/>">
|
||||||
|
]>
|
||||||
|
<x>
|
||||||
|
<test/>
|
||||||
|
&test.ent;
|
||||||
|
</x>
|
11
result/att7.rdr
Normal file
11
result/att7.rdr
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
0 10 x 0 0
|
||||||
|
0 1 x 0 0
|
||||||
|
1 14 #text 0 1
|
||||||
|
|
||||||
|
1 1 test 1 0
|
||||||
|
1 14 #text 0 1
|
||||||
|
|
||||||
|
1 5 test.ent 0 0
|
||||||
|
1 14 #text 0 1
|
||||||
|
|
||||||
|
0 15 x 0 0
|
24
result/att7.sax
Normal file
24
result/att7.sax
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
SAX.setDocumentLocator()
|
||||||
|
SAX.startDocument()
|
||||||
|
SAX.internalSubset(x, , )
|
||||||
|
SAX.elementDecl(x, 4, ...)
|
||||||
|
SAX.elementDecl(test, 1, ...)
|
||||||
|
SAX.attributeDecl(test, att, 1, 1, attvalue, ...)
|
||||||
|
SAX.entityDecl(test.ent, 1, (null), (null), <test/>)
|
||||||
|
SAX.getEntity(test.ent)
|
||||||
|
SAX.externalSubset(x, , )
|
||||||
|
SAX.startElement(x)
|
||||||
|
SAX.characters(
|
||||||
|
, 5)
|
||||||
|
SAX.startElement(test)
|
||||||
|
SAX.endElement(test)
|
||||||
|
SAX.characters(
|
||||||
|
, 5)
|
||||||
|
SAX.getEntity(test.ent)
|
||||||
|
SAX.startElement(test)
|
||||||
|
SAX.endElement(test)
|
||||||
|
SAX.reference(test.ent)
|
||||||
|
SAX.characters(
|
||||||
|
, 1)
|
||||||
|
SAX.endElement(x)
|
||||||
|
SAX.endDocument()
|
11
result/noent/att7
Normal file
11
result/noent/att7
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE x [
|
||||||
|
<!ELEMENT x (test)*>
|
||||||
|
<!ELEMENT test EMPTY>
|
||||||
|
<!ATTLIST test att CDATA "attvalue">
|
||||||
|
<!ENTITY test.ent "<test/>">
|
||||||
|
]>
|
||||||
|
<x>
|
||||||
|
<test/>
|
||||||
|
<test/>
|
||||||
|
</x>
|
10
test/att7
Normal file
10
test/att7
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE x [
|
||||||
|
<!ELEMENT x (test*)>
|
||||||
|
<!ELEMENT test EMPTY>
|
||||||
|
<!ATTLIST test att CDATA "attvalue">
|
||||||
|
<!ENTITY test.ent "<test/>">
|
||||||
|
]>
|
||||||
|
<x>
|
||||||
|
<test/>
|
||||||
|
&test.ent;
|
||||||
|
</x>
|
1
tree.c
1
tree.c
@ -7016,6 +7016,7 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
|
|||||||
xmlAttrPtr attr, const xmlChar *string) {
|
xmlAttrPtr attr, const xmlChar *string) {
|
||||||
xmlChar *base, *cur;
|
xmlChar *base, *cur;
|
||||||
|
|
||||||
|
if (string == NULL) return;
|
||||||
base = cur = (xmlChar *)string;
|
base = cur = (xmlChar *)string;
|
||||||
while (*cur != 0) {
|
while (*cur != 0) {
|
||||||
if (*cur == '\n') {
|
if (*cur == '\n') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user