Staring to receive bug reports on 2.3.7:
- entities.c: xmlEncodeEntitiesReentrant fixed a few accesses
to doc where it wasn't checked against NULL reported by
Jens Laas
Daniel
diff --git a/ChangeLog b/ChangeLog
index 20f484a..2232ae0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Apr 24 14:10:38 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+ * entities.c: xmlEncodeEntitiesReentrant fixed a few accesses
+ to doc where it wasn't checked against NULL reported by
+ Jens Laas
+
Tue Apr 24 13:21:36 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* HTMLparser.c: Jonas Borgström patch, the <td>, and <th> elements
diff --git a/entities.c b/entities.c
index 22971cc..3e6b581 100644
--- a/entities.c
+++ b/entities.c
@@ -643,7 +643,7 @@
*/
*out++ = *cur;
} else if (*cur >= 0x80) {
- if ((doc->encoding != NULL) || (html)) {
+ if (((doc != NULL) && (doc->encoding != NULL)) || (html)) {
/*
* Bjørn Reese <br@sseusa.com> provided the patch
xmlChar xc;
@@ -664,7 +664,8 @@
if (*cur < 0xC0) {
xmlGenericError(xmlGenericErrorContext,
"xmlEncodeEntitiesReentrant : input not UTF-8\n");
- doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
+ if (doc != NULL)
+ doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
snprintf(buf, sizeof(buf), "&#%d;", *cur);
buf[sizeof(buf) - 1] = 0;
ptr = buf;
@@ -695,7 +696,8 @@
if ((l == 1) || (!IS_CHAR(val))) {
xmlGenericError(xmlGenericErrorContext,
"xmlEncodeEntitiesReentrant : char out of range\n");
- doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
+ if (doc != NULL)
+ doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
snprintf(buf, sizeof(buf), "&#%d;", *cur);
buf[sizeof(buf) - 1] = 0;
ptr = buf;