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
diff --git a/ChangeLog b/ChangeLog
index 66c0d56..7c0d275 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
* xmlreader.c: fixed xmllint --memory --stream memory consumption
diff --git a/result/att7 b/result/att7
new file mode 100644
index 0000000..56d0835
--- /dev/null
+++ b/result/att7
@@ -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>
diff --git a/result/att7.rdr b/result/att7.rdr
new file mode 100644
index 0000000..47b19b4
--- /dev/null
+++ b/result/att7.rdr
@@ -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
diff --git a/result/att7.sax b/result/att7.sax
new file mode 100644
index 0000000..c093279
--- /dev/null
+++ b/result/att7.sax
@@ -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()
diff --git a/result/noent/att7 b/result/noent/att7
new file mode 100644
index 0000000..a58a04d
--- /dev/null
+++ b/result/noent/att7
@@ -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>
diff --git a/test/att7 b/test/att7
new file mode 100644
index 0000000..cd31c3d
--- /dev/null
+++ b/test/att7
@@ -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>
diff --git a/tree.c b/tree.c
index 219f2d9..12a83ce 100644
--- a/tree.c
+++ b/tree.c
@@ -7016,6 +7016,7 @@
xmlAttrPtr attr, const xmlChar *string) {
xmlChar *base, *cur;
+ if (string == NULL) return;
base = cur = (xmlChar *)string;
while (*cur != 0) {
if (*cur == '\n') {