more fixes and extending the tests coverage more hardeing of APIs skip
* gentest.py testapi.c: more fixes and extending the tests coverage
* xmlwriter.c list.c: more hardeing of APIs
* doc/apibuild.py: skip testapi.c when scanning the C files.
Daniel
diff --git a/xmlwriter.c b/xmlwriter.c
index 2a267cc..d4c7176 100644
--- a/xmlwriter.c
+++ b/xmlwriter.c
@@ -1206,7 +1206,7 @@
return -1;
}
- if ((content == NULL) && (len > 0)) {
+ if ((content == NULL) || (len < 0)) {
xmlGenericError(xmlGenericErrorContext,
"xmlTextWriterWriteRawLen : invalid content!\n");
return -1;
@@ -1268,6 +1268,9 @@
int rc;
va_list ap;
+ if ((writer == NULL) || (format == NULL))
+ return -1;
+
va_start(ap, format);
rc = xmlTextWriterWriteVFormatString(writer, format, ap);
@@ -1293,7 +1296,7 @@
int rc;
xmlChar *buf;
- if (writer == NULL)
+ if ((writer == NULL) || (format == NULL))
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
@@ -1324,7 +1327,7 @@
xmlTextWriterStackEntry *p;
xmlChar *buf;
- if (writer == NULL)
+ if ((writer == NULL) || (content == NULL))
return -1;
sum = 0;
@@ -1393,6 +1396,9 @@
int count;
int sum;
+ if ((out == NULL) || (len < 0) || (data == NULL))
+ return(-1);
+
linelen = 0;
sum = 0;
@@ -1465,7 +1471,7 @@
xmlLinkPtr lk;
xmlTextWriterStackEntry *p;
- if (writer == NULL)
+ if ((writer == NULL) || (data == NULL) || (start < 0) || (len < 0))
return -1;
sum = 0;
@@ -1515,7 +1521,7 @@
{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int i;
- if ((out == NULL) || ((data == 0) && (len != 0))) {
+ if ((out == NULL) || (data == NULL) || (len < 0)) {
return -1;
}
@@ -1558,7 +1564,7 @@
xmlLinkPtr lk;
xmlTextWriterStackEntry *p;
- if (writer == NULL)
+ if ((writer == NULL) || (data == NULL) || (start < 0) || (len < 0))
return -1;
sum = 0;
@@ -1742,12 +1748,14 @@
lk = xmlListFront(writer->nodes);
if (lk == 0) {
xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
}
p = (xmlTextWriterStackEntry *) xmlLinkGetData(lk);
if (p == 0) {
xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
}
@@ -1759,6 +1767,7 @@
count = xmlOutputBufferWrite(writer->out, 1, &writer->qchar);
if (count < 0) {
xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
}
sum += count;
@@ -1772,6 +1781,7 @@
np->uri);
if (count < 0) {
xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
}
sum += count;
@@ -4390,7 +4400,7 @@
int
xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent)
{
- if (indent < 0)
+ if ((writer == NULL) || (indent < 0))
return -1;
writer->indent = indent;
@@ -4411,7 +4421,7 @@
int
xmlTextWriterSetIndentString(xmlTextWriterPtr writer, const xmlChar * str)
{
- if (!str)
+ if ((writer == NULL) || (!str))
return -1;
if (writer->ichar != NULL)